關於ie的監聽事件


<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  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM