关于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 相关文章推荐
简单的jquery拖拽排序效果实现代码
Sep 20 Javascript
自己写的Javascript计算时间差函数
Oct 28 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
Aug 13 Javascript
JavaScript学习笔记整理之引用类型
Jan 22 Javascript
js 上传文件预览的简单实例
Aug 16 Javascript
JavaScript第一篇之实现按钮全选、功能
Aug 21 Javascript
利用原生JS与jQuery实现数字线性变化的动画
Feb 24 Javascript
JS实现上传图片实时预览功能
May 22 Javascript
JS中call和apply函数用法实例分析
Jun 20 Javascript
package.json中homepage属性的作用详解
Mar 11 Javascript
js实现简单的随机点名器
Sep 17 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 验证图片生成函数
2009/05/21 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
再谈PHP中单双引号的区别详解
2016/06/12 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
javawscript 三级菜单的实现原理
2009/07/01 Javascript
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
IE8中动态创建script标签onload无效的解决方法
2014/12/22 Javascript
javascript表单验证大全
2015/08/12 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
three.js 入门案例详解
2018/01/23 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
Nuxt.js实战和配置详解
2019/08/05 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
Python获取远程文件大小的函数代码分享
2014/05/13 Python
Python最基本的输入输出详解
2015/04/25 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
python从入门到精通(DAY 3)
2015/12/20 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
商品陈列协议书
2014/09/29 职场文书