js循环调用事件的问题!!

heilzsb 2013-11-08 05:44:43

$("#button1").click(function () {
for (var i = 0; i < list.length; i++) {
$("#button"+i).click();
}
}

代码大概这样子,在一个按钮点击事件中,循环调用其他的控件的事件,结果只有最后一个执行了,
求大神,怎么解决这个问题!!
...全文
186 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
heilzsb 2013-11-09
  • 打赏
  • 举报
回复
换了个思路,用计时器搞定了。。。
zhjdg 2013-11-08
  • 打赏
  • 举报
回复
这是什么东西来的。
allali 2013-11-08
  • 打赏
  • 举报
回复
为什么不直接执行click的方法,非要用按钮的事件。
bylijinnan 2013-11-08
  • 打赏
  • 举报
回复
我这样试了一下,可以:

jQuery("#button1").bind("click", function () {
    for (var i = 2; i < 4; i++) {
        $("#button"+i).click();
    }
});

<input id="button1" type="button" value="Button1"></input>
<input id="button2" type="button" value="Button2"  onclick="alert(2);"></input>
<input id="button3" type="button" value="Button3"  onclick="alert(3);"></input>
  • 打赏
  • 举报
回复
return (function(i){,上面的少了一个i
  • 打赏
  • 举报
回复
闭包作用域问题,


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type='text/javascript'>
$("#button1").click(function () {
    for (var i = 0; i < list.length; i++) {
        return (function(){
			$("#button"+i).click();
		})(i)
    }
}
</script>
似梦飞花 2013-11-08
  • 打赏
  • 举报
回复
$("#button1").click(function () { for (var i = 0; i < list.length; i++) { (function(x){ ($("#button"+x).click();) })(i) } } 试试

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧