Javascript 如何避免连续双击?
当我快速单击元素时,它会多次显示事件。但我希望用户防止连续双击,可能会跳过它1秒,我怎么能做到?多谢各位 我会使用,特别是去盎司功能:。在我发布的第二个链接上尝试第一个示例。然后,只需将其修改为双击,而不是使用Javascript 如何避免连续双击?,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,当我快速单击元素时,它会多次显示事件。但我希望用户防止连续双击,可能会跳过它1秒,我怎么能做到?多谢各位 我会使用,特别是去盎司功能:。在我发布的第二个链接上尝试第一个示例。然后,只需将其修改为双击,而不是使用keyup即可确保事件处理程序只运行一次,然后在经过足够的时间后可以重新绑定它(): $('#element').dblclick(function(e){ console.log("event"); }); true和false必须用小写字母书
keyup
即可确保事件处理程序只运行一次,然后在经过足够的时间后可以重新绑定它():
$('#element').dblclick(function(e){
console.log("event");
});
true
和false
必须用小写字母书写。否则会出现引用错误。
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");
}
}
function dblclickHandler(e){
console.log("event");
setTimeout(setHandler, 1000);
}
function setHandler() {
$('#element').one('dblclick', dblclickHandler);
}
setHandler();