JavaScript传递参数事件



我是JavaScript的初学者,我发现大多数语法

<body  onclick="myFunction(event)">

<button ....>
  1. 为什么使用event作为参数
  2. 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,这是导致当前处理程序运行的事件。

最新更新