jquery动态绑定事件问题

$(function(){
var index=[0,1,2,3];
for(var i in index){
$($("input[type='button']")[i]).click(function(){alert(i);});
}
});
......




为什么alert出来的都是3?

这是个典型的多个作用域引用同一个闭包的问题,这时闭包的数据是共享的。解决方法:
$(function(){
var index=[0,1,2,3];
for(var i in index){
(function(lockedIndex) {
$($("input[type='button']")[i]).click(function(){alert(lockedIndex);});
})(i);
}
});

希望对你有帮助!