Javascript:使用addEventListener时如何在函数中放置参数?

时间:2014-12-17 15:12:18

标签: javascript

在将元素添加到元素时,如何在函数中使用参数?我试过这个:

first.addEventListener("click", Bold(this, true));

但它不起作用。

1 个答案:

答案 0 :(得分:2)

注意 - 我假设是

Bold(this, true)

您希望Bold使用您当前的this作为this值进行调用吗?如果是这样,最简单的方法是使用bind

first.addEventListener("click", Bold.bind(this, true)));

如果我的假设是错误的,并且您不关心Bold中的this,并且实际上希望您当前的this作为第一个参数传递,那么它只会是

Bold.bind(null, this, true)

最后我会注意到上面的内容在IE8上不起作用,所以你必须填充bind(例如here),但希望你不必支持过时的浏览器那样的。


修改

因此,您希望在您的函数中单击的元素为this。这可能是最简单的解决方案

first.addEventListener("click", function(){ Bold.call(this, true); });