这有多烦人?http://jsfiddle.net/b3xyx/
- 我正在使用 addEventListener 为我的每个链接分配一个 javascript 函数。
- 循环遍历每个链接,分配一个递增的变量 x
- 但实际上,当您单击链接时 - 不是提醒 x 的值,而是提醒 x 的最终值;即它刚刚分配了一个指向 x 的指针,而不是复制它。
在此处查看实际情况:http: //jsfiddle.net/b3xyx/单击任何链接都会提醒“4”。Grr。
function goToSite(where){ alert("This would take you to " + where + ".com") } for(var x=1; x<=3; x++){ document.getElementById('link'+x).addEventListener('click', function(){goToSite(x)}) }
我该如何解决这个问题?在这种情况下,有没有办法创建变量的真实副本?
编辑:感谢您建议重复,但它似乎不是重复的。
^ 我的更新代码:
function goToSite(whichOne){
return function(){
alert("This would take you to " + whichOne + ".com");
}
}
还是不行。