关于原生事情绑定中attachEvent与addEventlistener中兼容性以及attachEvent函数中this指代window疑问...

在原生工作绑定中IE绑定中需要用到attachEvent,FF与chrome中需要用到addEventListener. attachEvent(工作,函数) 例如:var oBtn = document.getElementById('button');             oBtn.addachEvent('onclick',function(){ alert('a');          http://www.goodk123.info/linked/20130323.do    })          oBtn.addachEvent('onclick',function(){ alert('b');            }) addEventListener(工作,函数,false) 例如:var oBtn = document.getElementById('button');             oBtn.addEventListener('click',function(){ alert('a');            },false)          oBtn.addEventListener('click',function(){ alert('b');            },false) 上面咱们可以看到运用工作绑定的时分,工作的区别 一个是用onclick 一个是用到click,所以FF与chrome中的工作是不带on,而IE是有必要带on的 由于出现兼容性的疑问 需要封装函数 function addEvent(obj,ev,fn){ if(obj.attachEvent){ //关于IE浏览器 obj.attachEvent('on' ev,fn) }else{ //关于FF与chrome obj.addEventListener(ev,fn,false) } } 所以上述的实例可以改写成 addEvent(oBtn,'click',function(){ alert('a'); }) addEvent(oBtn,'click',function(){ alert('b'); }) 可是函数中如果出现this的话 例如: addEvent(oBtn,'click',function(){ alert(this); }) 得到的结果是不一样的 this在IE中弹出的window,在FF与chrome中指代的是其时方针 如果要用到其时方针需要对函数进一步改造 addEvent(oBtn,'click',function(ev){ var oEvent = ev||event; var that=oEvent.srcElement||oEvent.target; alert(that) }) http://www.6699ysk.info/linked/20130323.do 

转载于:https://www.cnblogs.com/fpqqchao/archive/2013/03/24/2978013.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值