Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何避免连续双击?_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript 如何避免连续双击?

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

当我快速单击元素时,它会多次显示事件。但我希望用户防止连续双击,可能会跳过它1秒,我怎么能做到?多谢各位

我会使用,特别是去盎司功能:。在我发布的第二个链接上尝试第一个示例。然后,只需将其修改为双击,而不是使用
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();