双击时,.click处理程序调用了两次 - 已经禁用了dblClick

时间:2017-05-23 12:10:36

标签: javascript jquery html css

当用户双击某个元素时,我似乎无法阻止触发两个点击事件。我已经尝试过jQuery(.click)和内联(onclick)处理程序,并且我已经使用它禁用了dblClick事件:

$(window).ready(function() {
    $("*").on("dblclick", function(e){
        e.preventDefault();
        e.stopPropagation();
    });
});

我并不是真的想在任何地方添加标记/超时,因为我有许多点击处理程序,而且我需要在整个版块中禁用双击...

JSFiddle: https://jsfiddle.net/s0oteh84/26/

3 个答案:

答案 0 :(得分:0)

使用以下内容:

$(document).ready(function() {
$("*").on("dblclick", function(e){
    return false;
});

});

答案 1 :(得分:0)

它甚至没有进入你的

$("*").on("dblclick", function(e){
        e.preventDefault();
        e.stopPropagation();
    });

最好使用300ms左右的超时来区分点击次数

答案 2 :(得分:0)

我通过在所有元素上方显示临时div来修复此问题,以便在400毫秒超时内接收第二次点击。

jQuery("*").on("click", function(e){
  if (jQuery(this).attr('id') != "double_click_div") {
    jQuery('#double_click_div').css('display', 'block');
    setTimeout(function () {
      jQuery('#double_click_div').css('display', 'none');
    }, 400);
  }
  else
    alert('caught!');
});

https://jsfiddle.net/s0oteh84/34/