跨瀏覽器之事件處理程序

上次說到了JS中事件處理程序在DOM0級和DOM2級和IE中是不一樣的,每一個都有本身的添加和移除事件處理程序的形式。瀏覽器

那要將這些差別進行統一化。避免這種差別。對於順序問題,咱們應該要先將最常用的放在最上面把兼容性最好的放在最下面,也就是實現向後兼容。spa

 1 function addEvent(obj,type,handle){
 2     if(obj.addEventListener){//兼容DOM3級
 3         obj.addEventListener(type,handle,false);
 4     }
 5     else if(obj.attachEvent){//兼容DOM0級
 6         obj.attachEvent("on"+type,handle);
 7     }
 8     else{//IE
 9         var type = "on"+type;
10         obj.type = handle;
11     }
12 }
13 
14 function removeEvent(obj,type,handle){
15     if(obj.removeEventListener){//兼容DOM3級
16         obj.removeEventListener(type,handle,false);
17     }
18     else if(obj.detachEvent){//兼容DOM0級
19         obj.detachEvent("on"+type,handle);
20     }
21     else{//IE
22         var type = "on"+type;
23         obj.type = null;
24     }
25 }

這端代碼能實如今各類瀏覽器下處理好事件處理程序。code

相關文章
相關標籤/搜索