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(){
				// 将点击执行的代码放在这里就可以实现 防止重复执行
			});
		})

  

猜你喜欢

转载自www.cnblogs.com/MainActivity/p/10342943.html
今日推荐