Ms和W3c中事件注册中的this问题

Ms中的事件注册:

1
ele.attachEvent('on' + type, fnHandler)

W3c中事件注册:

1
ele.addEventListener(type, fnHandler, false)

​有时我们要在事件注册的函数引用里,引用调用该事件监听器的当前对象


如果是W3c可以直接用this,形如:

1
2
3
function fnHandler(){
    console.log(this);
}

fnHandler中的this就相当于ele了


但是在IE中是不行的。兼容的获取目标对象的方法是:

1
2
3
4
function fnHandler(e){
    var target = e.target || e.srcElement;
    console.log(target);
}

这时fnHandler中的target就相当于ele

posted on 2014-08-09 15:00  htmldog  阅读(96)  评论(0)    收藏  举报

导航