码迷,mamicode.com
首页 > 其他好文 > 详细

跨浏览器之事件处理程序

时间:2017-09-17 15:08:14      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:dom2   blog   移除   var   att   type   list   event   浏览器   

上次说到了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 }

这端代码能实现在各种浏览器下处理好事件处理程序。

跨浏览器之事件处理程序

标签:dom2   blog   移除   var   att   type   list   event   浏览器   

原文地址:http://www.cnblogs.com/178-533/p/7535291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!