js制御クリックイベントは特定のミリ秒以内に一回だけクリックすることができます.

1155 ワード

js制御クリックイベントは特定のミリ秒以内に一回だけクリックすることができます.
1.第一の方法
function fn(callback){
	fn.prototype.init(callback);
}
fn.prototype = {
	canclick: true,
	init: function(callback){
		if(this.canclick){
			this.canclick = false
			callback();
			setTimeout(function(){
				this.canclick = true
			}.bind(this),1000)
		}else{
			console.log('1s          ')
		}
	}
}
以下のように使います
$("#content").click(function(){
		fn(function(){
				//                         
		});
})
2第二の方法
var forbidRepeartClick = (function(){
	var instance = null;
	var canClick = true;
	function Build(){
		this.setClick = function(callback){
			if(canClick){
				canClick = false;
				callback()
				setTimeout(function(){
					canClick = true;
				},1000)
			}else{
				console.log('1s        ')
			}
		}
	}
	
	
	if(!instance){
		instance = new Build();
	}
	
	return instance;
})()
以下のように使います
$("#content").click(function(){
		forbidRepeartClick.setClick(function(){
				//                         
		});
})
注意:実現原理とは、初めて実行関数に判断条件を加え、実行方法体に入ると、判定条件の値を修正し、遅延した後、判定条件の値を修正することです.