簡體   English   中英

試圖理解傳遞“this”與對事件的引用之間的區別

[英]Trying to understand the difference between passing 'this' vs. a reference to the event

我試圖了解將“this”傳遞給函數與傳遞對事件本身的引用之間的區別。

我正在用兩個單獨的 div 進行測試,每個 div 都有一個單獨的鼠標懸停和鼠標移出事件功能。 我只將“this”傳遞給一個函數,而將“this”和“e”傳遞給另一個函數。 我的例子在這里: http : //jsfiddle.net/jkolden/NQvaL/13/

document.getElementById('output').onmouseover = function(e) {mousein(e, this);};
document.getElementById('myDiv').onmouseover = function() {mouseinAlt(this);};

似乎“this”關鍵字總是指代我將偵聽器附加到的 html 元素,但“e”將指代鼠標懸停在該 html 元素的子元素上; 這是正確的說法嗎? 我只是好奇我是否正確理解了這一點,以及我的示例是否以適當的方式使用這些。

this指的是您將事件附加到的元素。 e指的是事件對象。 在該事件對象中是對事件target的引用(在每個瀏覽器中並不總是相同的屬性,在 IE 中它是srcElement ),它是調度事件的元素。

在此處查看更多信息: https : //developer.mozilla.org/en-US/docs/Web/API/event.target

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM