首页 > 解决方案 > 使用 eventlistener("click" , function(array)) 将元素推入数组

问题描述

我已将一个事件侦听器附加到一个按钮,并且对于事件侦听器函数中的函数,我试图传递一个我希望在每次单击按钮时更新的数组。这可能吗?如果是这样,我做错了什么,因为我不确定如何查看 array1 是否正在更新。提前致谢。

var array1 = new Array();
buttons.addEventListener("click", update(array1));
function update(array){
  array.push("*");
  console.log(array);
}

标签: javascriptarraysevent-listener

解决方案


您需要传递函数的引用而不是执行它()

buttons.addEventListeners("click", update);

在你的情况下,你也想传递参数,所以你需要.bind()它:

buttons.addEventListeners("click", update.bind(null, array1));

第一个论据是this论据。如果要更改this. 其他参数是您要传递的参数


推荐阅读