关于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 相关文章推荐
优化 JavaScript 代码的方法小结
Jul 16 Javascript
javascript getElementsByClassName 和js取地址栏参数
Jan 02 Javascript
微信小程序 wxapp导航 navigator详解
Oct 31 Javascript
D3.js中强制异步文件读取同步的几种方法
Feb 06 Javascript
Ajax验证用户名或昵称是否已被注册
Apr 05 Javascript
bootstrap响应式表格实例详解
May 15 Javascript
extjs简介_动力节点Java学院整理
Jul 17 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
Aug 17 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
Jul 05 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
Sep 05 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
Aug 07 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 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
一个取得文件扩展名的函数
2006/10/09 PHP
小偷PHP+Html+缓存
2006/11/25 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
2018/07/17 PHP
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
JS表的模拟方法
2015/02/05 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
查找Vue中下标的操作(some和findindex)
2020/08/12 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
原生js生成图片验证码
2020/10/11 Javascript
Vue组件简易模拟实现购物车
2020/12/21 Vue.js
python机器学习之贝叶斯分类
2018/03/26 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
Python中Numpy mat的使用详解
2019/05/24 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
python解决OpenCV在读取显示图片的时候闪退的问题
2021/02/23 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
Sunglasses Shop英国:欧洲领先的太阳镜在线供应商之一
2018/09/19 全球购物
博士研究生自我鉴定范文
2013/12/04 职场文书
普通员工辞职信
2014/01/17 职场文书
环境整治工作方案
2014/05/18 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
财产保全担保书
2015/01/20 职场文书
资料员岗位职责范本
2015/04/13 职场文书
老公出轨后的保证书
2015/05/08 职场文书