純JavaScript實現的相容各瀏覽器的添加和移除事件封裝,javascript移除

來源:互聯網
上載者:User

純JavaScript實現的相容各瀏覽器的添加和移除事件封裝,javascript移除

//事件處理相容各種瀏覽器,採用能力檢測方法,所謂能力檢測,就是有能力就做,沒有能力就不做  //定義一個處理事件的對象,相容各種瀏覽器,dom2級事件處理和ie事件,如果這兩個事件都不相容,就採用dom0級處理 var eventUtil ={    addEvent:function(element,type,handler){      if (element.addEventListener) {      //非IE瀏覽器採用dom2級事件處理,type為事件類型如:click,handler為事件處理函數,false代表事件採用冒泡處理模型,如果是true代表 採用捕獲型處理模型      //除了netbeans採用捕獲型處理模型,其他都採用冒泡型處理模型      //如果是非IE瀏覽器添加事件為:addEventListener      element.addEventListener(type,handler,false);      }else if (element.attachEvent) {      //如果為IE瀏覽器,添加事件採用 attachEvent      element.attachEvent('on'+type,handler);      }else{        element['on'+type] = handler;      }    },    removeEvent:function(element,type,handler){      if (element.removeEventListener) {      //非IE瀏覽器採用dom2級事件處理,type為事件類型如:click,handler為事件處理函數,false代表事件採用冒泡處理模型,如果是true代表 採用捕獲型處理模型      //除了netbeans採用捕獲型處理模型,其他都採用冒泡型處理模型      //如果是非IE瀏覽器添加事件為:removeEventListener      element.removeEventListener(type,handler,false);      }else if (element.detachEvent) {      //如果為IE瀏覽器,添加事件採用 detachEvent      element.detachEvent('on'+type,handler);      }else{      //dom0級事件處理,如果刪除事件採用賦值null        element['on'+type] = null;      }    },    getEvent:function(event){      //擷取事件本身     return event?event:window.event;    },    getType:function(event){     //擷取事件類型     return event.type;    },    getElement:function(event){     //擷取事件作用元素     return event.target || event.srcElement;    },    preventDefault:function(event){      //阻止預設的事件行為      if(event.preventDefault){        event.preventDefault();      }else{        event.returnValue = false;      }    },    stopProPagation:function(event){    //停止事件冒泡      if(event.stopProPagation){        event.stopProPagation();      }else{        event.cancelBubble = true;      }    } }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.