Javascript:将多个参数传递给 EventListener 和事件

Fre*_*ddy 5 javascript

我想通过 .addEventListener 方法将 EventListener 添加到按钮。这是代码:

myElement[i].addEventListener('click', buttonLink);
Run Code Online (Sandbox Code Playgroud)

这工作正常,并将事件作为值传递给方法。这是方法头:

function buttonLink(e) {
    //Now i can access the srcElement via:
    e.srcElement.id ...
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我将参数传递给方法,它会隐藏 e 参数,并且它在方法内部完全不可见。有没有办法将我自己的值和(!)事件传递给事件监听器?

提前致谢

Jam*_*ice 5

传递一个匿名函数addEventListener并从其中调用回调:

myElement[i].addEventListener('click', function (e) {
    buttonLink(e, somethingElse, anotherThing);
});
Run Code Online (Sandbox Code Playgroud)

  • 虽然这很好,但这不适用于removeEventListener,因为您将无法删除此匿名处理程序。 (3认同)