<div id='test'></div>;
如要監聽#test的點擊事件,在除了ie的瀏覽器上都可以用document.getElementById("#test").addEventListener("click",function(){});
即是target.addEventListener(type,listener,useCapture);
target:文檔節點,即是document.getElementById("test");
type:字符串,事件的名稱,是不需要加on的,如click等,
useCapture:是否捕捉,默認值是false,當為false是在冒泡階段,冒泡階段是事件是由內向外執行,當設置為true的時候是在捕捉階段,事件是由外向內執行。
在ie中,document.getElementById("#test").attachEvent(type,listener);
target:文檔節點、document.getElementById("#test");如document,window,XMLHttpRequest。
type:字符串,事件名稱,含有on,如onclick等
W3C 及 IE 同時支持移除指定的事件, 用途是移除設定的事件, 格式分別如下:
removeEventListener(event,function,capture/bubble);
detachEvent(event,function);
適應的瀏覽器版本不同,同時在使用的過程中要注意
attachEvent方法 按鈕onclick IE中使用
addEventListener方法 按鈕click fox中使用
兩者使用的原理:可對執行的優先級不一樣,下面實例講解如下:
attachEvent方法,為某一事件附加其它的處理事件。(不支持Mozilla系列)
addEventListener方法 用於 Mozilla系列
舉例: document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;如果這樣寫,那么將會只有medhot3被執行
寫成這樣:
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 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
