我正在创建一个js函数,它将所有id带有一些特定的值,然后为所有这些值添加一个事件监听器。所有这些都会监听click事件,当它被点击时,它应该调用一个有两个参数的函数。这些参数值对于每个id都是唯一的。
for (var i = 0; i < globalArray.length; i+=3){
document.getElementById(globalArray[i]).addEventListener("click",
loadTable(globalArray[i+1], globalArray[i+2]), false);
}
这里我有一个globalArray,第一个元素是id,第二个和第三个元素分别是第一个和第二个参数。我怎么能做那件事。现在每次调用时,都不添加EventListener。
但是这不会调用函数,只是添加到事件监听器然后只要单击“demoButton”按钮就可以触发'some'函数。
document.getElementById("demoButton").addEventListener("click", some);
答案 0 :(得分:2)
使用匿名函数,该函数在调用时将使用相应的参数调用loadTable
函数。
for (var i = 0; i < globalArray.length; i+=3){
document.getElementById(globalArray[i]).addEventListener("click", function(){
loadTable(globalArray[i+1], globalArray[i+2])
}, false);
}