我是JavaScript的初学者,我发现大多数语法
<body onclick="myFunction(event)">
或
<button ....>
- 为什么使用event作为参数 javascript中event和event的区别是什么?
只有当函数处理事件时才需要传递事件。例如,您可能希望检查已单击的元素,这可以通过查看事件的.target
来完成:
function foo(event) {
console.log(event.target.id);
}
<button id="thebutton" onclick="foo(event)">click</button>
如果不传递event
,则foo
函数将无法将事件视为参数。
也就是说,在现代JavaScript中,你真的不应该使用内联处理程序,它们有相当多的问题,被广泛认为是糟糕的实践。最好使用addEventListener
:
function foo(event) {
console.log(event.target.id);
}
document.querySelector('#thebutton').addEventListener('click', foo);
<button id="thebutton">click</button>
javascript中event和event的区别
Event
是一个可以创建事件的构造函数。
const someEvent = new Event('click');
相反,您在内联处理程序中看到的event
指的是window.event
,这是导致当前处理程序运行的事件。