Javascript addEventListener:将参数传递给外部事件处理程序

Javascript addEventListener:将参数传递给外部事件处理程序,javascript,dom-events,Javascript,Dom Events,在Javascript中,当我使用addEventListener时,我想调用一个外部方法并向其传递一个事件参数: var secondParam= "titi"; element.addEventListener("keydown", handleEventFunc(event, secondParam)); ... handleEventFunc: function (eventArg, secondParam) { var key =

在Javascript中,当我使用
addEventListener
时,我想调用一个外部方法并向其传递一个事件参数:

var secondParam= "titi";
element.addEventListener("keydown", handleEventFunc(event, secondParam));
   ...
handleEventFunc: function (eventArg, secondParam) {
    var key = event.keyCode;
    var toto = secondParam;
    //do things
}
如果我使用closure,它将起到等效的作用:

var secondParam= "titi";
element.addEventListener("keydown", function (event) {
        var key = event.keyCode;
        var toto = secondParam;
        //do things
}

您知道如何执行此操作吗?

如果您只是引用函数而不是调用函数,则会自动执行此操作,因为任何参数都将由调用上下文传递,在本例中为事件处理程序

element.addEventListener("keydown", obj.handleEventFunc);

var obj = {
    handleEventFunc: function (event) { // tada, now works
        var key = event.keyCode; // keep the names the same
        //do things
    }
}
调用函数的不是你。当事件发生时,它是浏览器。因此,您必须为浏览器提供一个要调用的函数。