1

我试图了解将“this”传递给函数与将引用传递给事件本身之间的区别。

我正在使用两个单独的 div 进行测试,每个 div 都有一个用于 mouseover 和 mouseout 事件的单独函数。我只将“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 元素的子元素被鼠标悬停;这是一个正确的说法吗?我只是好奇我是否正确理解了这一点,以及我的示例是否以适当的方式使用这些。

4

1 回答 1

2

this指您将事件附加到的元素。e指事件对象。在该事件对象中是对事件的引用target(在每个浏览器中并不总是相同的属性,在 IE 中是srcElement),它是调度事件的元素。

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

于 2013-10-10T17:05:50.953 回答