我有一個簡單的事件偵聽器:的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