Mozilla中:
addEventListener的使用方式:
ventListener(type, listener, useCapture);
target: 文件節點、document、window 或 XMLHttpRequest。
type: 字串,事件名稱,不含“on”,比如“click”、“mouseover”、“keydown”等。
listener :實現了 EventListener 介面或者是 JavaScript 中的函式。
useCapture :是否使用捕捉,一般用 false 。例如:lementById("testText")ventListener("keydown", function (event) { alert(ode); }, false);
IE中:
chEvent(type, listener);
target: 文件節點、document、window 或 XMLHttpRequest。
type: 字串,事件名稱,含“on”,比如“onclick”、“onmouseover”、“onkeydown”等。
listener :實現了 EventListener 介面或者是 JavaScript 中的函式。 例如:lementById("txt")chEvent("onclick",function(event){alert(ode);});
W3C 及 IE 同時支援移除指定的事件, 用途是移除設定的事件, 格式分別如下:
W3C格式:
removeEventListener(event,function,capture/bubble);
Windows IE的格式如下:
detachEvent(event,function);
ventListener(type, listener, useCapture);
target 文件節點、document、window 或 XMLHttpRequest。
type 字串,事件名稱,不含“on”,比如“click”、“mouseover”、“keydown”等。
listener 實現了 EventListener 介面或者是 JavaScript 中的函式。
useCapture 是否使用捕捉,看了後面的事件流一節後就明白了,一般用 false
事件觸發時,會將一個 Event 物件傳遞給事件處理程式,比如:
lementById("testText")ventListener("keydown", function (event) { alert(ode); }, false);
適應的`瀏覽器版本不同,同時在使用的過程中要注意
attachEvent方法 按鈕onclick IE中使用
addEventListener方法 按鈕click fox中使用
兩者使用的原理:可對執行的優先順序不一樣,下面例項講解如下:
attachEvent方法,為某一事件附加其它的處理事件。(不支援Mozilla系列)
addEventListener方法 用於 Mozilla系列
舉例: lementById("btn")ick = method1;
lementById("btn")ick = method2;
lementById("btn")ick = method3;如果這樣寫,那麼將會只有medhot3被執行
寫成這樣:
var btn1Obj = lementById("btn1"); //chEvent(event,function);
chEvent("onclick",method1);
chEvent("onclick",method2);
chEvent("onclick",method3);執行順序為method3->method2->method1
如果是Mozilla系列,並不支援該方法,需要用到addEventListener var btn1Obj = lementById("btn1");
//ventListener(type,listener,useCapture);
ventListener("click",method1,false);
ventListener("click",method2,false);
ventListener("click",method3,false);執行順序為method1->method2->method3
例項:(要注意的是div必須放到js前面才行)