window.addEventListener('message', myFunction(event)) 不起作用



我试图理解为什么以下内容不起作用。

var myFunction = function(event) {
    // do something with event
};
window.addEventListener('message', myFunction(event));

我收到以下错误:"引用错误:未定义事件"。

但是,可以使用以下作品和event

window.addEventListener('message', function(event) {
    // do something with event
});

在第一种情况下如何使用event?为什么event只能在第二种情况下访问?

您看到错误是因为您立即调用该函数。您需要改为传递对函数的引用

换句话说,更改以下内容:

window.addEventListener('message', myFunction(event));

对此:

window.addEventListener('message', myFunction);

使用 addEventListener() 方法时,默认情况下,触发事件时,event对象将作为第一个参数传递。

最新更新