关于javascript中限定时间内防止按钮重复点击的思路详解


Posted in Javascript onAugust 16, 2016

前面的话

有一天心血来潮,1分钟内重复点击了多次博客园首页的刷新博文列表的刷新按钮。果不其然,ip当时就被禁用了。后来,重启自己的路由器,重新获取ip才可以访问博客园主页。那么,设置一个限定时间内(比如1秒)防止按钮被重复点击的方法会不会更好一点呢?

思路一

最直接的思路可能就是点击按钮后,按钮的事件绑定函数解绑,1s后重新绑定函数

<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>

关于javascript中限定时间内防止按钮重复点击的思路详解

思路二  

另一个思路是获取并记录时间,当再次点击时,时间间隔大于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>

关于javascript中限定时间内防止按钮重复点击的思路详解

以上这篇关于javascript中限定时间内防止按钮重复点击的思路详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
Apr 15 Javascript
扩展JavaScript功能的正确方法(译文)
Apr 12 Javascript
收集json解析的四种方法分享
Jan 17 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
Feb 05 Javascript
JS实现网站菜单拖拽移位效果的方法
Sep 24 Javascript
功能强大的Bootstrap组件(结合js)
Aug 03 Javascript
js判断文件格式及大小的简单实例(必看)
Oct 11 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
Nov 11 Javascript
初识 Vue.js 中的 *.Vue文件
Nov 22 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
Aug 06 Javascript
关于vue编译版本引入的问题的解决
Sep 17 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
Sep 02 Javascript
总结Node.js中的一些错误类型
Aug 15 #Javascript
自动化测试读写64位操作系统的注册表
Aug 15 #Javascript
Wireshark基本介绍和学习TCP三次握手
Aug 15 #Javascript
JavaScript中removeChild 方法开发示例代码
Aug 15 #Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
Aug 15 #Javascript
Web安全测试之XSS实例讲解
Aug 15 #Javascript
js中获取jsp表单中radio类型的值简单实例
Aug 15 #Javascript
You might like
php数据库连接
2006/10/09 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
javascript 函数式编程
2007/08/16 Javascript
JavaScript 拾漏补遗
2009/12/27 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
轻松掌握JavaScript代理模式
2016/08/26 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
JS的Ajax与后端交互数据的实例
2018/08/08 Javascript
Angular6 正则表达式允许输入部分中文字符
2018/09/10 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
浅析python的Lambda表达式
2019/02/27 Python
使用python绘制温度变化雷达图
2019/10/18 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
致跳高运动员加油稿
2014/02/12 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2014普法依法治理工作总结
2014/12/18 职场文书
六年级小学生评语
2014/12/26 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python