如何从click事件处理程序内部触发click事件?

时间:2017-10-26 19:33:22

标签: jquery

我有一个点击事件,如:

$("#btnSave").click(function(e) {
  e.preventDefault();

  //
  //

  $("#btnSave").trigger("click");
});

以上是目前正在创建一个递归循环并错误输出。

我怎样才能完成我想要的东西呢?我希望点击该按钮,但不是同一事件发生火灾并进入递归状态?

2 个答案:

答案 0 :(得分:0)

你可以这样做(未经测试!):

$("#btnSave").click(function(e, firstClick) {
    e.preventDefault();

    //
    //

    if (firstClick == undefined) {
        $("#btnSave").trigger("click", [true]);
    }
});

让我知道是否有帮助

答案 1 :(得分:0)

Javascript设置超时似乎对你有好处。它会延迟运行代码,直到设定的时间。请参阅下面的示例:

$("#btnSave").click(function(e) {
  e.preventDefault();

  //The line below starts the timeout function
  setTimeout(function(){ 
    $("#btnSave").trigger("click"); //Your code
  }, 3000); //3000 is how long the code is delayed to run in ms (3000 is 3 seconds)

});

如果您只希望此功能运行一次,您可以使变量充当开/关开关,防止多次触发功能。如果你想这样做,请告诉我,我会写下设置它所需的简单代码。