1. 程式人生 > >JS實現禁止短時間內連續觸發事件

JS實現禁止短時間內連續觸發事件

rem 事件 eat query nbsp color clas 使用 art

設置定時器,每次進入函數時先清空定時器,然後在執行

  let c =null;
  let dom = document.querySelector(‘#me‘);
  dom.addEventListener(‘click‘,function(){
    clearTimeout(c);
    c = setTimeout(function(){
      console.log(2000)
    },1000)
  },false)

如果是一個按鈕的話,可以使用一下方法

1       var clickflag = 0;  
2        $(‘.btn‘).click(function
() { 3 if (clickflag == 0) { 4 clickflag = 1; 5 $(this).addClass("c_gray"); 6 setTimeout(function () { clickflag = 0 }, 1000); 7 } 8 });

同時按鈕事件也可以使用添加屬性的方法來解決連續觸發

1 $("#btn").attr("disabled", "disabled");  //
使按鈕不能被點擊 2 $("#btn").attr("value", "wait"); //更改按鈕上的文字 3 4 $("#btn").removeAttr("disabled"); //使按鈕能夠被點擊 5 $("#btn").attr("value", "點我"); //更改按鈕上的文字

JS實現禁止短時間內連續觸發事件