How to prevent calling of en event handler twice on fast clicks?

前端 未结 9 1017
小鲜肉
小鲜肉 2020-12-15 19:23

There is a button and when user clicks on button, some data is saved to back-end. Issue is when user clicks on button very quickly, event handler is getting executed multipl

9条回答
  •  攒了一身酷
    2020-12-15 20:16

    Try the following code

    var x = 1;
    var fewSeconds=10; /*10 seconds*/
    
    $('#button').click(function() {
    $('#button').attr("disabled", "disabled");
      x++;
      console.log(x);
        var btn = $(this);
        btn.prop('disabled', true);
        setTimeout(function(){
            btn.prop('disabled', false);
        }, fewSeconds*1000);
    
    });
    

提交回复
热议问题