JavaScript AddEventListener:将参数传递给外部事件处理程序



在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
    }
}

最新更新