[问题] addEventListener中的this

楼主: nohaha (不是开玩笑的)   2015-04-19 12:56:55
想请问anonymous function中的 this指向root element(window)
这个规则是固定的吗
我在chrome测试下面的code
var btn = document.getElementById('myBtn');
btn.addEventListener('click', function(){
console.log(this === btn);
},false);
其中event handler是以anonymous function的方式给值的
预期应该是false,但会显示为true,
想知道我的观念是错在那边了
谢谢大家
作者: s25g5d4 (function(){})()   2015-04-19 13:59:00
.call 跟 .apply 可以改变 function 的 this不过这边是 spec 里规定 this 指向触发事件的元素http://goo.gl/c5XRhE
楼主: nohaha (不是开玩笑的)   2015-04-20 11:37:00
原来是spec规定的,晃然大悟了! 感谢
作者: SansWord (是妳)   2015-04-24 10:41:00
可以用 bind

Links booklink

Contact Us: admin [ a t ] ucptt.com