[問題] 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