$('#element').dblclick(function(e){
console.log("event");
});
当我以非常快的速度单击该元素时,它会多次显示该事件。但是我想让用户连续不断地双击,可能会跳过它1秒,我该怎么做?谢谢。如何避免连续双击?
$('#element').dblclick(function(e){
console.log("event");
});
当我以非常快的速度单击该元素时,它会多次显示该事件。但是我想让用户连续不断地双击,可能会跳过它1秒,我该怎么做?谢谢。如何避免连续双击?
我会使用doTimeout plugin,具体是去抖功能:http://benalman.com/code/projects/jquery-dotimeout/examples/debouncing/。尝试我发布的第二个链接的第一个示例。然后,只需将其修改为双击而不是keyup
。
var click_allowed = true;
$('#element').dblclick(function(e){
if (!click_allowed) return;
console.log("event");
click_allowed = false;
window.setTimeout(function() {
click_allowed = true;
}, 1000);
}
var lastClick = 0;
$('#element').dblclick(function(e){
var time = (new Date()).getTime();
if(time > lastClick + 1000) {
lastClick = time;
console.log("event");
}
}
TRUE;和`假`必须写成小写。否则你会得到一个参考错误。 – jAndy 2010-12-05 15:48:59