关于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实现的一个tab切换效果内部还嵌有切换
Aug 10 Javascript
不到30行JS代码实现Excel表格的方法
Nov 15 Javascript
jquery实现弹出层登录和全屏层注册特效
Aug 28 Javascript
总结JavaScript三种数据存储方式之间的区别
May 03 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
Jun 29 Javascript
js实现图片轮播效果学习笔记
Jul 26 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
Oct 31 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
Nov 09 Javascript
Element-ui table中过滤条件变更表格内容的方法
Mar 02 Javascript
Bootstrap table表格初始化表格数据的方法
Jul 25 Javascript
react native 原生模块桥接的简单说明小结
Feb 26 Javascript
基于jQuery的时间戳与日期间的转化
Jun 21 jQuery
总结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 set_error_handler()函数使用详解(示例)
2013/11/12 PHP
重新认识php array_merge函数
2014/08/31 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
JS中Location使用详解
2015/05/12 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
js评分组件使用详解
2017/06/06 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
木工主管岗位职责
2013/12/08 职场文书
顶撞老师检讨书
2014/02/07 职场文书
小学优秀辅导员事迹材料
2014/05/11 职场文书
团结演讲稿范文
2014/05/23 职场文书
小学学校评估方案
2014/06/08 职场文书
初三语文教学计划
2015/01/22 职场文书
信访维稳承诺书
2015/05/04 职场文书
升学宴学生致辞
2015/07/27 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python