将不同的事件绑定到点击和双击

Avatar of Chris Coyier
Chris Coyier

您可能希望链接在双击时执行特殊操作,从而阻止链接的默认操作(跳转到另一个页面)。所以

双击:执行特殊操作,完全不执行正常的点击事件
点击:正常工作

您需要在触发正常的点击操作时稍微延迟一下,并在发生双击事件时取消该操作。

function doClickAction() {
  $("#click h2").append("•"); 
}
function doDoubleClickAction() {
  $("#double-click h2").append("•"); 
}

var timer = 0;
var delay = 200;
var prevent = false;

$("#target")
  .on("click", function() {
    timer = setTimeout(function() {
      if (!prevent) {
        doClickAction();
      }
      prevent = false;
    }, delay);
  })
  .on("dblclick", function() {
    clearTimeout(timer);
    prevent = true;
    doDoubleClickAction();
  });
Check out this Pen!