Weird value for counter variable in javascript
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Javascript infamous Loop problem?
出于某种原因,我的函数里面的每个div元素都有"6":
1 2 3 4 5 | for(var i = 1; i <= 5; i++){ $('').appendTo(something).click(function(){ alert(i); // <-- it's 6. wtf?? }); } |
而不是1,2,3等
另一方面,该类似乎正确设置..
我究竟做错了什么?
您的
1)页面加载,
2)稍后会触发click事件。 此时
问题是您需要创建一个闭包来捕获绑定click函数时
试试这个:
1 2 3 4 5 6 7 8 9 | for(var i = 1; i <= 5; i++) { $('') .appendTo(something) .click(function(value) { return function() { alert(value) }; }(i)); } |