js 实现控制点击事件在特定的毫秒内 只允许点击一次(防止重复点击)
代码
第一种方法
var forbidRepeartClick = (function(){
	var instance = null;
	var canClick = true;
	function Build(){
		this.setClick = function(callback){
			if(canClick){
				canClick = false;
				callback()
				setTimeout(function(){
					canClick = true;
				},2000)
			}else{
				console.log('两秒之内限制重复点击')
			}
		}
	}
	if(!instance){
		instance = new Build();
		console.log('创建实例')
	}
	return instance;
})()
使用
$("#box").click(function(){
			forbidRepeartClick.setClick(function(){
				// 将点击执行的代码放在这里就可以实现 防止重复执行
			})
		})
第二种方法
function C(callback){
	C.prototype.init(callback);
}
C.prototype = {
	canclick: true,
	init: function(callback){
		if(this.canclick){
			this.canclick = false
			callback();
			setTimeout(function(){
				this.canclick = true
			}.bind(this),2000)
		}else{
			console.log('两秒未到不允许点击')
		}
	}
}
使用
$("#box").click(function(){
			C(function(){
				// 将点击执行的代码放在这里就可以实现 防止重复执行
			});
		})
js 实现控制点击事件在特定的毫秒内 只允许点击一次(防止重复点击)的更多相关文章
- js多次触发事件,在一定延迟内只执行一次 (事件累加)
		js多次触发事件,在一定延迟内只执行一次的案例: <!DOCTYPE html> <html> <head> <meta charset="UTF- ... 
- listview 嵌套checkbox响应item点击和button点击事件
		参考文档 http://www.eoeandroid.com/forum.php?mod=viewthread&tid=182280 一.主要要点 1. CheckBox的优先级比item高. ... 
- (转载)Android之有效防止按钮多次重复点击的方法(必看篇)
		为了防止测试妹子或者用户频繁点击某个按钮,导致程序在短时间内进行多次数据提交or数据处理,那到时候就比较坑了~ 那么如何有效避免这种情况的发生呢? 我的想法是,判断用户点击按钮间隔时间,如果间隔时间太 ... 
- fastclick.js解决移动端(ipad)点击事件反应慢问题
		参考http://blog.csdn.net/xjun0812/article/details/64919063 http://www.jianshu.com/p/16d3e4f9b2a9 问题的发现 ... 
- JS实现按下按键触发点击事件
		<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ... 
- 简单运用 activity 的 button 点击事件
		今天我们要讲的主要是四大组件之一Activity Activity 在英文中是活动的意思.活动就是我们与用户进行交互的一个场所. activity 整个的活动流程是什么呢?我们用一个图来看下 当然今天 ... 
- 微信小程序 template添加点击事件
		介绍template是微信小程序提供的模板,可以在模板中定义代码片段,然后在不同的地方调用. 简单使用定义template因为项目中可能会需要到不止一个template,所以最好新建一个文件夹来存放t ... 
- js-解决移动端点击事件的延迟问题
		众所周知,在手机上的点击事件会有延迟300ms的问题.但在做手机端某些点击小游戏时,我们就需要取消这个延迟的问题: 第一步:禁止页面的缩放 <meta name="viewport&q ... 
- vue中Enter触发登录事件和javascript中Enter触发点击事件
		created(){ window.addEventListener('keydown', this.handleKeyDown, true)//开启监听键盘按下事件 } 在methods中当keyC ... 
随机推荐
- CSS中各种居中的问题
			1.元素水平居中 1.1 在父元素上使用text-align: center; father { text-align: center; } 1.2 margin: 0 auto; 在上一个问题中,我 ... 
- centos7升级内核至最新
			应用背景: 最近在接触docker,其对内核版本要求较高,就连目前使用的centos7.x默认内核版本为3.10.0-xxx,也是刚好满足其最低要求,故借此机会记录一下升级内核的操作步骤. 测试环境: ... 
- 20165223《网络对抗技术》Exp0 Kali的安装
			(1)安装步骤 Kali官网,下载Kali Linux 64 bit版本,按照网上安装教程进行即可 我是直接拷贝了Kali的.vmx文件(Linux 64bit),在上学期已经安装好的VMware中可 ... 
- Linux环境配置错误记录
			1. pip install --special_version pip10. 版本. 使用命令: python -m pip install pip== 其中, -m 参数的意思是将库中的pyt ... 
- 洛谷P3159 交换棋子 神奇的网络流
			神奇的建模...原题链接 如果你真的把交换看成交换,就\(GG\)了.首先我们要把交换看成是白棋的移动. 然后,很容易的就想到建模的大致思路:建立超级源点S和超级汇点T,从S向初始局面每个白棋所在的格 ... 
- python第十四天
			今日内容 1. 带参装饰器 | wrapper 2. 迭代器 3. 可迭代对象 4.迭代器对象 5.for 迭代器 6.枚举对象 带参装饰器 是指装饰器为被装饰的函数添加新功能,需要外界的参数 - ... 
- C++: 模板函数定义与声明分离;
			我们知道模板函数或模板类的定义一般都是和声明一起在头文件中,但是这样的话, 就暴露了内部实现,有什么办法能够将定义和声明进行分离呢? 答案是: 有的: 头文件: test.h; class test ... 
- python之路(12)网络编程
			前言 基于网络通信(AF_INET)的socket(套接字)实现了TCP/UDP协议 目录 基于TCP协议的socket 基于UDP协议的socket TCP协议下粘包现象及处理 使用socketse ... 
- Spring Boot 2.x以后static下面的静态资源被拦截
			今天创建一个新的Spring Boot项目,没注意到spring boot的版本,发现静态资源无法访问.百度一下发现好像是Spring Boot 2.0版本以后static目录不能直接访问. 接下来直 ... 
- BST(二叉搜索树)相关
			1.BST的合法性:validate-binary-search-tree class TreeNode { int val; TreeNode left; TreeNode right; TreeN ... 
