javascript:模拟点击每个按钮

时间:2015-10-06 09:36:20

标签: javascript jquery

我得到5个按钮,每次点击都会触发事件,以实时生成新的不同按钮。 问题是如何在2秒内模拟每个按钮点击事件。 与其他语言一样,请使用

thread.sleep(2000); //将延迟2秒

在javascript中,这是一个方向Arguments.callee is deprecated - what should be used instead?

setTimeout(function(){         ...         setTimeout(arguments.callee,100);         },100); 另一个方向是jquery中的delay()函数

但它可以触发生成按钮事件吗?

$(document).ready(function() {
  timer();
});

function timer() {
  setTimeout(function() {

    setTimeout(arguments.callee, 2000);
  }, 2000);

};

function addBtn(btn) {
  $("#p2").text(btn.value) // btn.value;
  var count = Math.round((Math.random() * 2 * 1000) / 1000, 0) + 1;
  console.log(count);
  $(".addbtn").remove();
  for (i = 0; i < count; i++) {
    $("#d2").append("<input class='addbtn' type='button' style='width:100px;color:green' value='subBtn" + btn.value + "_" + (i + 1) + "'/>")
  }

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="d1">
  <input id="btn1" type="button" onclick="addBtn(this)" style="width:100px;color:green" value="1" />
  <input id="btn2" type="button" onclick="addBtn(this)" style="width:100px;color:green" value="2" />
  <input id="btn3" type="button" onclick="addBtn(this)" style="width:100px;color:green" value="3" />
</div>
<div id="d2">

</div>

1 个答案:

答案 0 :(得分:0)

如果您有五个按钮,并希望按顺序点击它们,每两秒点击一次,您可以使用$()查找它们,然后是,您可以使用setTimeout来安排点击次数。

您没有显示任何标记或代码,但是例如,这会点击五个按钮中的每个按钮,点击之间会有两秒钟的延迟(没有初始延迟):

// Look up the buttons
var btns = $("input[type=button]");

// Something so we can see them get clicked
btns.on("click", function() {
  $("<p>").text("Button " + this.value + " clicked").appendTo(document.body);
});

// Loop through them, scheduling a click on each one after 2000ms
// (two seconds). Note how we're multiplying 2000 by the index
// of the button -- the first button is index 0, so that's 0ms
// (almost immediate), the second is index 1 = 2000ms from now,
// the third is index 2 = 4000ms from now...
btns.each(function(index) {
  var $btn = $(this);
  setTimeout(function() {
    $btn.click();
  }, 2000 * index);
});
<input type="button" value="One">
<input type="button" value="Two">
<input type="button" value="Three">
<input type="button" value="Four">
<input type="button" value="Five">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

这只是其中几种不同的方法之一。