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

时间:2016-01-21 01:19:29

标签: javascript function firefox events

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

var myFunction = function(event) {
    // do something with event
};

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

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

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

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

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

1 个答案:

答案 0 :(得分:5)

您正在看错,因为您正在立即调用该函数。您需要将引用传递给函数。

换句话说,改变这个:

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

到此:

window.addEventListener('message', myFunction);

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