繁体   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