關(guān)于javascript中限定時間內(nèi)防止按鈕重復(fù)點(diǎn)擊的思路詳解
前面的話
有一天心血來潮,1分鐘內(nèi)重復(fù)點(diǎn)擊了多次博客園首頁的刷新博文列表的刷新按鈕。果不其然,ip當(dāng)時就被禁用了。后來,重啟自己的路由器,重新獲取ip才可以訪問博客園主頁。那么,設(shè)置一個限定時間內(nèi)(比如1秒)防止按鈕被重復(fù)點(diǎn)擊的方法會不會更好一點(diǎn)呢?
思路一
最直接的思路可能就是點(diǎn)擊按鈕后,按鈕的事件綁定函數(shù)解綁,1s后重新綁定函數(shù)
<button id="btn">0</button>
<script>
btn.onclick = function add(){
btn.innerHTML = Number(btn.innerHTML) + 1;
btn.onclick = null;
clearTimeout(timer);
var timer = setTimeout(function(){
btn.onclick = add;
},1000);
}
</script>

思路二
另一個思路是獲取并記錄時間,當(dāng)再次點(diǎn)擊時,時間間隔大于1s時才有效
<button id="btn">0</button>
<script>
btn.onclick = (function(){
var last = Date.now();
return function(){
var now = Date.now();
if((now - last)>1000){
btn.innerHTML= Number(btn.innerHTML) + 1;
}
last = now;
}
})();
</script>

以上這篇關(guān)于javascript中限定時間內(nèi)防止按鈕重復(fù)點(diǎn)擊的思路詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JS中用三種方式實(shí)現(xiàn)導(dǎo)航菜單中的二級下拉菜單
我們在淘寶、搜狐等大型網(wǎng)站上都可以看到使用的一些二級下拉菜單,比如下面這張圖片。那么如何實(shí)現(xiàn)導(dǎo)航菜單欄中的二級下拉菜單呢?下面小編給大家分享JS中用三種方式實(shí)現(xiàn)導(dǎo)航菜單中的二級下拉菜單,感興趣的朋友一起看看吧2016-10-10

