请您快速查看示例代码(http://jsfiddle.net/vXvs2/),以下是我的疑问:它是否明确表明了事件创建时的
i
值。我认为它实际上显示的是触发事件时的 i
值。请问如何解决这个问题?请注意不要删除HTML标签。i
值。我认为它实际上显示的是触发事件时的 i
值。请问如何解决这个问题?请注意不要删除HTML标签。将循环体包装在一个函数中,以创建闭包:
for(var i = 0; i < arr.length; i++){
(function(i){ //i inside this function is a local var; not affected by i++
arr[i].onclick = function(){
alert(i);
return false;
};
})(i); //Invoke the function, pass variable i
}
Fiddle: http://jsfiddle.net/vXvs2/4/
arr[i]
。http://jsfiddle.net/vXvs2/5/ - Rob W