国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

addEventListener和addListener的區別

2024-04-27 15:08:44
字體:
來源:轉載
供稿:網友

addListener是用于鼠標,鍵盤等特殊元素的一些監聽

addEventListener是對組件監聽的

(要注意的是div必須放到js前面才行) 一般情況下,如果給一個dom對象綁定同一個事件,只有最后一個會生效,比如:

復制代碼 代碼如下:

document.getElementById("btn").onclick = method1; document.getElementById("btn").onclick = method2; document.getElementById("btn").onclick = method3;

那么將只有method3生效。 如果是Mozilla系列,用addEventListener可以讓多個事件按順序都實現,比如:

復制代碼 代碼如下:

var btn1Obj = document.getElementById("btn1"); //element.addEventListener(type,listener,useCapture); btn1Obj.addEventListener("click",method1,false); btn1Obj.addEventListener("click",method2,false); btn1Obj.addEventListener("click",method3,false);

執行順序為method1->method2->method3 如果是ie系列,用attachEvent可以讓多個事件按順序都實現,比如:

復制代碼 代碼如下:

var btn1Obj = document.getElementById("btn1"); //object.attachEvent(event,function); btn1Obj.attachEvent("onclick",method1); btn1Obj.attachEvent("onclick",method2); btn1Obj.attachEvent("onclick",method3);

執行順序為method3->method2->method1 ======================================================= Mozilla中: addEventListener的使用方式 target.addEventListener(type,listener,useCapture); target: 文檔節點、document、window 或 xmlHttPRequest。 type: 字符串,事件名稱,不含“on”,比如“click”、“mouSEOver”、“keydown”等。 listener :實現了 EventListener 接口或者是 javaScript 中的函數。 useCapture :是否使用捕捉,一般用 false 。例如:document.getElementById("testText").addEventListener("keydown", function (event) { alert(event.keyCode); }, false);IE中: target.attachEvent(type, listener); target: 文檔節點、document、window 或 xmlhttpRequest。 type: 字符串,事件名稱,含“on”,比如“onclick”、“onmouseover”、“onkeydown”等。 listener :實現了 EventListener 接口或者是 Javascript 中的函數。 例如:document.getElementById("txt").attachEvent("onclick",function(event){alert(event.keyCode);});W3C 及 IE 同時支持移除指定的事件, 用途是移除設定的事件, 格式分別如下: removeEventListener(event,function,capture/bubble); Windows IE的格式如下: detachEvent(event,function); DOM2 的進化:

DOM 0 Event

DOM 2 Event

onblur()

blur

onfocus()

focus

onchange()

change

onmouseover()

mouseover

onmouseout()

mouseout

onmousemove()

mousemove

onmousedown()

mousedown

onmouseup()

mouseup

onclick()

click

ondblclick()

dblclick

onkeydown()

keydown

onkeyup()

keyup

onkeypress()

keypress

onsubmit()

submit

onload()

load

onunload()

unload

新的DOM2 用法可以addEventListener()這個函數來觀察到:

復制代碼 代碼如下:

addEventListener(event,function,capture/bubble);

參數event如上表所示, function是要執行的函數, capture與bubble分別是W3C制定得兩種時間模式,簡單來說capture就是從document的開始讀到最后一行, 再執行事件, 而bubble則是先尋找指定的位置再執行事件.capture/bubble的參數是布爾值, True表示用capture, False則是bubble.Windows Internet Explorer也有制定一種EventHandler, 是 attachEvent(), 格式如下:

復制代碼 代碼如下:

window.attachEvent(”submit”,myFunction());

比較特別的是attachEvent不需要指定capture/bubble的參數, 因為在windows IE環境下都是使用Bubble的模式.如何判斷是否支持哪種監聽呢?如:

復制代碼 代碼如下:

if (typeof window.addEventListener != “undefined”) { window.addEventListener(”load”,rollover,false); } else { window.attachEvent(”onload”,rollover) }

上述的 typeof window.addEventListener != “undefined” 程序代碼可以判斷使用者的瀏覽器是否支持AddEventListener這個事件模型, 如果不支持就使用attachEvent.W3C 及 IE 同時支持移除指定的事件, 用途是移除設定的事件, 格式分別如下: W3C格式: removeEventListener(event,function,capture/bubble); Windows IE的格式如下: detachEvent(event,function);

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梁山县| 元朗区| 日喀则市| 九龙城区| 屏东县| 砀山县| 正镶白旗| 高邮市| 大丰市| 会宁县| 金寨县| 镇原县| 二连浩特市| 新邵县| 梁平县| 罗定市| 保山市| 文登市| 西乌珠穆沁旗| 黄梅县| 耒阳市| 濮阳县| 桐城市| 青浦区| 巴青县| 曲沃县| 怀化市| 龙江县| 项城市| 轮台县| 灵石县| 利川市| 丹阳市| 肃宁县| 武乡县| 玉屏| 长宁区| 阿克陶县| 菏泽市| 叶城县| 武陟县|