如何在JavaScript中向事件监听器传递自定义参数?

3

如何添加一个事件监听器(addEventListener(),attachEvent()),同时接受一个参数?

参数作为元素的自定义属性传递,例如:

<img src="icon.gif" alt="Test button" command="test" />
<img src="icon2.gif" alt="Test button2" command="write" />
2个回答

3
您可以使用类似这样的东西:
element.addEventListener ( 'click', (function ( myParam ) {
    return function () {
        // user myParam here
    };
} ) ( yourParam ), false );

无论您传递什么作为“yourParam”,都可以通过“myParam”参数访问事件处理程序...


1
这对我有用: attachEvent('onclick', function() { linkClicked(link.getAttribute("command")); }, false); - samuel

3
您可以在您的处理程序中使用getAttribute,类似于: var param = this.getAttribute('command'); 该方法可以帮助您获取HTML元素的属性值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接