可能重复:
在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);
}
}
Run Code Online (Sandbox Code Playgroud)
什么发生在这里是DIV ID cell7获取上点击添加,但div编号cell0至cell6没有.我猜它与i循环中的变化这样的事实有关,这也影响i了函数?
我该如何解决这个问题?
我不知道为什么,但这些建议并没有解决我的问题 - 但我设法通过添加到 onclicks 来解决它,因为我在循环期间显示 div,所以我最终做了:
innerHTML = '<Div onclick="">'; //etc etc
Run Code Online (Sandbox Code Playgroud)
不要将 div 添加到输出“然后”稍后分配 onclicks...不知道我的新方法是否是最佳选择,但它有效,所以我必须坚持下去!
| 归档时间: |
|
| 查看次数: |
3324 次 |
| 最近记录: |