可能重复:
在 for 循环中分配点击处理程序
我需要有关代码中循环的帮助。
我遍历一个数组并添加对 div 的点击。但它总是将 onclicks 添加到循环的最后一个循环,并有效地取消之前的循环。
所以我有这个作为我的循环:
start = 0;
for(i = start; i < (start+8); i++){ //8 per page
if(i == array.length){
break; //page end
} else {
(function(i){
document.getElementById('cell'+i).onclick = function(){ select(i); }
})(i);
}
}
这里发生的是 div idcell7
获得了点击添加,但 div idcell0
没有cell6
。我猜这与i
循环中的变化有关,因此也会影响i
函数中的变化?
我该如何解决这个问题?