天天看點

attachEvent與addEventListener差別



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  
attachEvent與addEventListener差別

轉發至微網誌

繼續閱讀