私は単純なイベントリスナーを持っています:
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);
}
);
}
しかし、イベントが発生したときにparamが定義されていないため、正しいかどうかわかりません。
私の質問は - setlistener で設定されたパラメーターを使用して、毎回 run_func_with_param を呼び出す正しい方法ですか? つまり、イベントの結果として run_func_with_param が呼び出されると、param は記憶され、正しい値に設定されますか? (同じイベントに対して異なるパラメーターを持つ複数のリスナーが存在します)。
注: jQuery/その他のライブラリは使用しないでください。この場合、カスタム イベントを使用しています。