在javascript中,当我使用 addEventListener
时,我想调用外部方法并传递事件arg:
var secondParam= "titi";
element.addEventListener("keydown", handleEventFunc(event, secondParam));
...
handleEventFunc: function (eventArg, secondParam) {
var key = event.keyCode;
var toto = secondParam;
//do things
}
如果我使用闭合,它将等效地工作:
var secondParam= "titi";
element.addEventListener("keydown", function (event) {
var key = event.keyCode;
var toto = secondParam;
//do things
}
您知道该怎么做吗?
如果您只是 reference 函数而不是调用它,则会自动发生,因为任何参数将通过呼叫上下文传递,在这种情况下,事件处理程序
element.addEventListener("keydown", obj.handleEventFunc);
var obj = {
handleEventFunc: function (event) { // tada, now works
var key = event.keyCode; // keep the names the same
//do things
}
}