JS事件物件(event)的一些相容性寫法
阿新 • • 發佈:2018-12-23
- 獲得event物件相容性寫法
event || (event = window.event);
- 獲得target相容型寫法
event.target||event.srcElement
- 阻止瀏覽器預設行為相容性寫法
event.preventDefault ? event.preventDefault() : (event.returnValue = false);
- 阻止冒泡寫法
event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true);
- 新增事件監聽和取消事件監聽
-
//新增事件監聽相容函式 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); }
注:後者皆為相容IE的相容性寫法