将参数传递给window.addEventListener函数

时间:2014-07-14 14:42:20

标签: javascript

我正在尝试使用

将参数传递给函数
window.addEventListener('resize', writeMSG(X, Y));

function writeMSG(x, y){
    console.log("Resize Event"+x+":"+y);
}

然而,这个不起作用,事件只被触发一次。如果我只使用函数名称,这会在调整大小事件时正确调用函数,但我没有参数,(我不想将它们放在全局上):

window.addEventListener('resize', writeMSG);

在functon里面我有事件对象......我是否必须在事件对象中传递参数?抓住事件对象并附加参数,或者有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以添加一个函数存根来在事件触发时调用您的函数:

window.addEventListener('resize', function(e) {
    writeMSG(X, Y);
});

你尝试这样做的方式,你立即调用writeMSG()并将其返回值传递给addEventListener(),这肯定不是你想要的(这就是为什么它只被调用一次)。