关于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——表单应用范例
Feb 20 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
Aug 23 Javascript
jquery图片放大功能简单实现
Aug 01 Javascript
js打开新窗口方法整理
Feb 17 Javascript
js中 javascript:void(0) 用法详解
Aug 11 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
Nov 09 Javascript
JavaScript希尔排序、快速排序、归并排序算法
May 08 Javascript
AngularJS中一般函数参数传递用法分析
Nov 22 Javascript
javascript 动态生成css代码的两种方法
Mar 17 Javascript
Angular2 组件交互实例详解
Aug 24 Javascript
js 计算图片内点个数的示例代码
Apr 04 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
Mar 23 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中Session的概念
2006/10/09 PHP
PHP6 先修班 JSON实例代码
2008/08/23 PHP
php之对抗Web扫描器的脚本技巧
2008/10/01 PHP
PHP生成随机用户名和密码的实现代码
2013/02/27 PHP
用php实现选择排序的解决方法
2013/05/04 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
jQuery 1.0.2
2006/10/11 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
2014/05/12 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
小程序实现多选框功能
2018/10/30 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
ionic4+angular7+cordova上传图片功能的实例代码
2019/06/19 Javascript
Python 字符串定义
2009/09/25 Python
python列表的增删改查实例代码
2018/01/30 Python
使用Python设计一个代码统计工具
2018/04/04 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
python 装饰器重要在哪
2021/02/14 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
财务会计专业毕业生自荐信
2013/10/19 职场文书
医学生职业规划范文
2014/01/05 职场文书
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
个人校本研修方案
2014/05/26 职场文书
撤诉状格式范本
2015/05/19 职场文书
中学生运动会广播稿
2015/08/19 职场文书
八年级作文之我的母亲
2019/12/10 职场文书