2
我有下面的例子中的兩個問題:的addEventListener:如何訪問事件
function doIt(){
this.attribute = someValue; // Works as expected
alert(event.which); // Doesn't work
}
element.addEventListener("click",doIt,false);
問題1:爲什麼this
綁定功能,但event
是不是?
問題2:什麼是適當的方法來做到這一點?
我意識到'this'是內置的,但我不瞭解'this'如何引用元素,我認爲它應該引用函數本身。我嘗試了addEventListener(「click」,function(){doit(event);}修復了'event',但是打破了'this',看起來好像比通過兩個方法都更好。 m奮力掌握... – Gary
'this'指的是當前的'object',你的方法不是一個對象,它是一個'method',因此唯一可用的'object'是被選中的元素。 –
這些解釋'this'的文檔是從調用者傳遞給函數的。下面他們有原型,這樣你就可以知道代碼是如何工作的 - https://developer.mozilla.org/en/DOM/element.addEventListener#section_8 – mrtsherman