【发布时间】:2018-12-14 05:28:48
【问题描述】:
<div id="mydiv0"></div>
<div id="mydiv1"></div>
<div id="mydiv2"></div>
var myArray = [
document.getElementById("mydiv0"),
document.getElementById("mydiv1"),
document.getElementById("mydiv2")
];
function myFunction(x){
alert("my number is " + x);
}
for(var i = 0; i < myArray.length; i++){
myArray[i].addEventListener("click", function(){myFunction(i);});
}
我想将事件侦听器附加到 myArray 中的每个元素。单击时,应显示一条警报消息,分别为 mydiv0、mydiv1 和 mydiv2 显示数字 0、1 和 2。如上例所示,我尝试使用 for 循环,但无论我点击哪个 div,我都会收到“我的号码是 3”消息。有没有办法将变量 i 的不同值作为 myFunction 的参数传递?
【问题讨论】:
标签: javascript addeventlistener