js循环调用事件的问题!!
$("#button1").click(function () {
for (var i = 0; i < list.length; i++) {
$("#button"+i).click();
}
}
代码大概这样子,在一个按钮点击事件中,循环调用其他的控件的事件,结果只有最后一个执行了,
求大神,怎么解决这个问题!! js javascript web
[解决办法]
$("#button1").click(function () {
for (var i = 0; i < list.length; i++) {
(function(x){
($("#button"+x).click();)
})(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>
[解决办法]
我这样试了一下,可以:
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>
[解决办法]
为什么不直接执行click的方法,非要用按钮的事件。
[解决办法]
这是什么东西来的。