我试图理解为什么以下不起作用。
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
只能在第二种情况下访问?
答案 0 :(得分:5)
您正在看错,因为您正在立即调用该函数。您需要将引用传递给函数。
换句话说,改变这个:
window.addEventListener('message', myFunction(event));
到此:
window.addEventListener('message', myFunction);
使用addEventListener()
方法时,默认情况下,event
对象将作为第一个参数传递。