JS實現禁止短時間內連續觸發事件
阿新 • • 發佈:2017-07-19
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實現禁止短時間內連續觸發事件