现在我正试图通过本书#34; Beginning JavaScript 5th Edition"来学习JavaScript。因为英语不是我的母语,有时很难理解。
现在我对所谓的 DOM标准事件对象有点困惑。
function handleEvent(e) {
var target = e.target;
var type = e.type;
if (target.tagName == "P") {
if (type == "mouseover") {
target.className = "underline"; } else if (type == "mouseout") {
target.className = ""; }
}
};
e 只是参数的约定,我可以提供我想要的任何名称吗?例如y?
我能否将 .target 视为与 .this 相同?
.target 引用发生事件的元素,对吗?
答案 0 :(得分:2)
e
只是参数的约定,event
也是如此。因为e
具有所有event
个属性。尝试在控制台中输出e
,您将看到它拥有的所有值。 (顺便说一下,e
只是你在控制台中看到的一个对象。)
在handleEvent
功能中,只需添加console.log(e)
即可查看其中的所有内容。
e.target
是调用事件的元素。 e.type
是事件类型。如果您将e
切换为event
,事情可能会变得更加清晰。
答案 1 :(得分:1)
确实只是一个惯例,所以你可以给它任何你想要的名字。 .target是触发事件的de元素,因此它是将事件附加到的元素。
答案 2 :(得分:0)
是。 e是给予事件对象的标准变量名。变量名可以是任何名称。