js绑定事件方法:addEventListener的兼容问题

js的事件绑定方法中,ie只支持attachEvent,而FF和Chrome只支持addEventListener;严格来说:addEventListener只有IE9以上版本的IE浏览器上能够兼容,IE8或者更低的版本是不支持,这时要想能够兼容IE低版本浏览器就需要判断当前浏览器然后针对不同浏览器决定用哪一个。

  attachEvent和addEventLitener的不同之处是第二个参数事件名要多加个“on”,比如‘onclick’,而且他的this 指向的是window,在使用的时候需要改变this指向。下面就是一个兼容的写法:

 1 var Event = {};
 2 Event.addEvents = function(target,eventType,handle){
 3         if(document.addEventListener){
 4                Event.addEvents = function(target,eventType,handle){
 5                       target.addEventListener(eventTypt,handle,false);
 6         };
 7     }else {
 8         Event.addEvents = function(target,eventType,handle){
 9             target.attachEvent('on'+eventType,function(){
10                 handle.call(target,arguments);
11             });
12         };
13     
14     }
15     Event.addEvents(target,eventType,handle);
16 
17     }                    

调用方法:

1 Event.addEvents(document,"click",function(){
2         alert(ok)
3 });

 

转载于:https://www.cnblogs.com/nxl0908/p/9517884.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值