javascript 相容W3c和IE的新增(取消)事件監聽方法
阿新 • • 發佈:2019-01-01
事件作為javascript本身的一個必備功能,在目前javascript的使用中是無處不在的,基本要只要寫到javascrpt,就會用到javascript事件。下面就說說javascript中的新增事件監聽和取消事件監聽的方法,當然也要做到相容W3c和IE。下面是相容的程式碼:
上面這段程式碼是對監聽事件函式做了優化的,延遲載入事件監聽函式,這樣就不用每次都對新增或刪除事件進行判斷了,只在第一次新增或刪除監聽事件的時候進行判斷,會大大提高監聽事件的執行效率。//新增事件監聽相容函式 function addHandler(target, eventType, handler){ if(target.addEventListener){//主流瀏覽器 addHandler = function(target, eventType, handler){ target.addEventListener(eventType, handler, false); }; }else{//IE addHandler = function(target, eventType, handler){ target.attachEvent("on"+eventType, handler); }; } //執行新的函式 addHandler(target, eventType, handler); } //刪除事件監聽相容函式 function removeHandler(target, eventType, handler){ if(target.removeEventListener){//主流瀏覽器 removeHandler = function(target, eventType, handler){ target.removeEventListener(eventType, handler, false); } }else{//IE removeHandler = function(target, eventType, handler){ target.detachEvent("on"+eventType, handler); } } //執行新的函式 removeHandler(target, eventType, handler); }