我有一个简单的事件侦听器:的JavaScript事件监听PARAM
function listen(evnt, elem, func) {
if (elem.addEventListener) // W3C DOM
elem.addEventListener(evnt,func,false);
else if (elem.attachEvent) { // IE DOM
var r = elem.attachEvent("on"+evnt, func);
return r;
}
return false;
}
我想用一个参数设置监听器。 (参数未通过事件将,它是特定听众的一部分
我做什么,似乎工作是:
function setlistener (param){
listen ('custom event', document,
function (e){
run_func_with_param(param);
}
);
}
但我不因为参数是不应该明白,如果它的正确当事件被触发时被定义
我的问题是 - 是否有正确的方法来调用run_func_with_param,每次都在setlistener中为它设置params?换句话说,param是否会被记住并且将被设置当run_func_with_param将作为一个事件的结果被调用时,它的值是否为正确值?(将有多个不同的参数用于t他同样的事件)。
注意:请不要使用jQuery /其他库。 我在这种情况下使用自定义事件。
我想** ** PARAM时,它的发射将是可行的每个事件。它被称为封闭。最好解释[这里](http://stackoverflow.com/questions/12930272/javascript-closures-vs-anonymous-functions) – Ikrom