基本上我创建了一堆单元格,我试图为每个传递一个变量的onclick添加在函数内部使用。但直接向上传递'i'变量作为最后一个i值而不是0,1,2,3,4等。这是我正在做的事情的片段。
for (var i = 0; i < cellCount.length; i++) {
var cellName= "cell"+ i
document.getElementById(cellName).onclick = function () { cellClicked(i) };
}
答案 0 :(得分:1)
如果你没有&#34;捕获&#34;在新范围中的值,回调将从实际的i计数器中读取值。
做这样的事情:
for (var i = 0; i < cellCount.length; i++) {
(function(copy_of_i) {
var cellName= "cell"+ i
document.getElementById(cellName).onclick = function () { cellClicked(copy_of_i) };
})(i)
}