首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

。jquery方法注册与期望不符

2013-07-04 
在线等。jquery方法注册与期望不符for(var i0i3i++){$(#span+i).bind(click,function(){switchTabM

在线等。jquery方法注册与期望不符

for(var i=0;i<3;i++)
{
$("#span"+i).bind("click",function(){switchTabMain(i);});
}


简单的一个方法。当我再switchTabMain方法中debug的时候,传入的参数一直是3,也就是i最后的值。。请问这个怎么解决?
[解决办法]
因为i是共享的,所以循环完就是最后的3,如果需要分别保留0,1,2如果需要应该用闭包的方式处理,这样应该就可以了。

for(var i=0;i<3;i++)
{
(function(x) {
    $("#span"+x).bind("click",function(){switchTabMain(x);});  
})(i); 
}

上面代码我没有测试,解决方式应该是没有问题的,你自己调试一下。

热点排行