http://blog.163.com/[email protected]/blog/static/288964142010755811775/
attachEvent與addEventListener差別
适應的浏覽器版本不同,同時在使用的過程中要注意
attachEvent方法 按鈕onclick
addEventListener方法 按鈕click
兩者使用的原理:可對執行的優先級不一樣的事件進行操作:
attachEvent方法,為某一事件附加其它的處理事件。(不支援Mozilla系列)
addEventListener方法 用于 Mozilla系列
舉例:
Js代碼
- document.getElementById(“btn”).onclick = method1;
- document.getElementById(“btn”).onclick = method2;
- document.getElementById(“btn”).onclick = method3;如果這樣寫,那麼将會隻有medhot3被執行
document.getElementById("btn").onclick = method1; document.getElementById("btn").onclick = method2; document.getElementById("btn").onclick = method3;如果這樣寫,那麼将會隻有medhot3被執行
寫成這樣:
Js代碼
- var btn1Obj = document.getElementById(“btn1″); //object.attachEvent(event,function);
- btn1Obj.attachEvent(“onclick”,method1);
- btn1Obj.attachEvent(“onclick”,method2);
- btn1Obj.attachEvent(“onclick”,method3);執行順序為method3->method2->method1
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
使用執行個體:
Js代碼
- 1。 var el = EDITFORM_DOCUMENT.body;
- //先取得對象,EDITFORM_DOCUMENT實為一個iframe
- if (el.addEventListener){
- el.addEventListener(‘click’, KindDisableMenu, false);
- } else if (el.attachEvent){
- el.attachEvent(‘onclick’, KindDisableMenu);
- }2。 if (window.addEventListener) {
- window.addEventListener(‘load’, _uCO, false);
- } else if (window.attachEvent) {
- window.attachEvent(‘onload’, _uCO);
- }
1。 var el = EDITFORM_DOCUMENT.body; //先取得對象,EDITFORM_DOCUMENT實為一個iframe if (el.addEventListener){ el.addEventListener('click', KindDisableMenu, false); } else if (el.attachEvent){ el.attachEvent('onclick', KindDisableMenu); }2。 if (window.addEventListener) { window.addEventListener('load', _uCO, false); } else if (window.attachEvent) { window.attachEvent('onload', _uCO); }
detachEvent和removeEventListener
Js代碼
- detachEvent(‘onclick’,func);//ie下使用删除事件func
- removeEventListener(‘click’,func);//Mozilla下,删除事件func
轉發至微網誌