标签归档:this

attachEvent中this指针问题

在IE中使用attachEvent给一个元素绑定行为时,事件中的this指针会指向window对象,而不是元素本身,但使用addEventListener或者以elem.onclick = someFunc这种形式绑定的行为则不会出现这种问题。解决的问题也很简单,就是通过call或者apply把this指针引向元素自己,jQuery中也是这样做的。 var _ele = document.getElementById(‘myElement’); try{ _ele.addEventListener(‘click’,clickFunc,false); }catch(e){ try{ _ele.attachEvent(‘onclick’,function(){clickFunc.call(_ele)}); }catch(e){}; } 这样函数clickFunc中的this指针就会指向被绑定行为的元素了。

发表在 前端 | 标签为 , , | 留下评论