当前访客身份:游客 [ 登录  | 注册加入尚学堂]
启用新域名sxt.cn
新闻资讯

IE和W3C事件注册中的this问题

helloworld 发表于 2年前  | 评论(0 )| 阅读次数(563 )|   0 人收藏此文章,   我要收藏
IE中的事件注册:
     
ele.attachEvent('on' + type, fnHandler)

,W3C中事件注册:
     
ele.addEventListener(type, fnHandler, false)

,有时我们要在事件注册的函数引用(这里是fnHandler)里,引用调用该事件监听器的当前对象(这里是ele),

如果是W3C可以直接用this,形如:
 
    
function fnHandler(){
    console.log(this);
}

fnHandler中的this就相当于ele了。

但是在IE中是不行的。兼容的获取目标对象的方法是:
 
    
function fnHandler(e){
    var target = e.target || e.srcElement;
    console.log(target);
}

这时fnHandler中的target就相当于ele




分享到:0
关注微信,跟着我们扩展技术视野。每天推送IT新技术文章,每周聚焦一门新技术。微信二维码如下:
微信公众账号:尚学堂(微信号:bjsxt-java)
声明:博客文章版权属于原创作者,受法律保护。如果侵犯了您的权利,请联系管理员,我们将及时删除!
(邮箱:webmaster#sxt.cn(#换为@))
北京总部地址:北京市海淀区西三旗桥东建材城西路85号神州科技园B座三层尚学堂 咨询电话:400-009-1906 010-56233821
Copyright 2007-2015 北京尚学堂科技有限公司 京ICP备13018289号-1 京公网安备11010802015183