执行多次点击

时间:2016-09-01 09:34:33

标签: javascript jquery click

我试图多次点击一个按钮。每次单击该按钮时,它会加载1秒钟,然后重新出现并再次单击。我想点击此按钮5次。

 for(i=0;i<5;i++) 
  $('.class').click();

上述代码只执行一次。

即使是这段代码,也只执行一次点击。

for(i=0;i<5;i++) 
 setTimeout(() => $('.class').click(),2000);

如果我手动执行该步骤,即如果我输入$('。class')。单击()到控制台五次,它可以工作。知道为什么?

2 个答案:

答案 0 :(得分:3)

将延迟乘以i,因为for循环不会等待执行 setTimeout 回调。

for(i = 1;i <= 5; i++) 
  setTimeout(() => $('.class').click(),i * 2000);

另一种方法是使用 setInterval 方法以及 clearInterval

// variable for count
var i = 0;
// reference for clearing interval
var inter = setInterval(()=>{
   // trigger click event
   $('.class').click(); 
   // increment and check value reached to `5`
   // if `5` then clear the interval
   if(++i == 5) clearInterval(inter);
},2000);

答案 1 :(得分:0)

如果您在按钮上记录click事件,即使使用您的第一个示例

,也会单击该事件5次

&#13;
&#13;
$('.button').on('click', function () {
	console.log('clicked')
})

for(i=0;i<5;i++) 
  $('.button').click();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="button"></button>
&#13;
&#13;
&#13;