跨瀏覽器之事件處理程序
阿新 • • 發佈:2017-09-17
跨瀏覽器 log fun class color lis 添加 自己的 ner
上次說到了JS中事件處理程序在DOM0級和DOM2級和IE中是不同的,每個都有自己的添加和移除事件處理程序的形式。
那要將這些差異進行統一化。避免這種差異。對於順序問題,我們應該要先將最經常使用的放在最上面把兼容性最好的放在最下面,也就是實現向後兼容。
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 }
這端代碼能實現在各種瀏覽器下處理好事件處理程序。
跨瀏覽器之事件處理程序