【发布时间】:2011-01-12 15:16:23
【问题描述】:
循环中的闭包给我带来了问题。我想我必须创建另一个函数来返回一个函数来解决问题,但我无法让它与我的 jQuery 代码一起使用。
这是一个简化形式的基本问题:
function foo(val) {
alert(val);
}
for (var i = 0; i < 3; i++) {
$('#button'+i).click(function(){
foo(i);
});
}
点击三个按钮中的任何一个都会发出警报,说 3。我想要的功能是点击按钮 1 会发出警报,说 1,按钮 2 会说 2,依此类推。
我怎样才能做到这一点?
【问题讨论】:
标签: javascript jquery loops closures