dblclick()

为JavaScript 的"dblclick"事件绑定一个处理函数,或者触发元素上的"dblclick"事件。

.dblclick(handler(eventObject))
  • handler(eventObject) 类型:Function() 。每次事件触发时会执行的函数。
.dblclick([eventData ], handler(eventObject))
  • eventData 类型: Anything 。一个对象,它包含的数据键值对映射将被传递给事件处理程序。
  • handler(eventObject) 类型:Function() 。每次事件触发时会执行的函数。
.dblclick()
  • 这个方法不接受任何参数

这个函数的前两个用法是 .bind('dblclick', handler) 的快捷方式,第3个不带参数的用法是 .trigger('dblclick') 的快捷方式。一个元素被双击时将触发 dblclick 事件。任何HTML元素都可以收到此事件。请看下面的HTML:

<div id="target">
  Double-click here
</div>
<div id="other">
  Trigger the handler
</div>

这个事件处理器可以绑定到任何 <div> :

$('#target').dblclick(function() {
  alert('Handler for .dblclick() called.');
});

现在,如果我们双击这个元素,警报显示:

Handler for .dblclick()called.

Double-click here
Trigger the handler

应用不带参数的 .dblclick() ,我们可以手动触发这个事件:

$('#other').click(function() {
  $('#target').dblclick();
});

这些代码执行后,单击Trigger the handler同样警报显示。

dblclick 事件只有在满足以下条件的情况下才能被触发:

  • 鼠标指针在元素里面时点击。
  • 鼠标指针在元素里面时释放。
  • 鼠标指针在元素里面时再次点击,点击间隔时间,是系统而定。
  • 鼠标指针在元素里面时再次释放。

在同一元素上同时绑定 click dblclick 事件是不可取的。各个浏览器事件触发的顺序是不同的,一些浏览器在 dblclick 之前接受两个 click 事件,而和其它浏览器只接受一个 click 事件。用户往往可通过不同的操作系统和浏览器配置双击灵敏度(两次点击之间的最大时间被检测为双击)。

Additional Notes(其他注意事项):

  • .dblclick() 方法只是作为 .on("dblclick", handler) 的一个速记写法,移除该事件可以使用 .off("dblclick")

例子

在段落上双击时,显示"Hello World!"提示框:

$("p").dblclick( function () { alert("Hello World!"); });

双击时改变背景色。

<!DOCTYPE html>
<html>
<head>
  <style>
  div { background:blue;
        color:white;
        height:100px;
        width:150px;
 }
  div.dbl { background:yellow;color:black; }
  </style>
  <script src="./static/js/jquery-3.5.0.js"></script>
</head>
<body>
  <div></div><span>Double click the block</span>
<script>
  var divdbl = $("div:first");
  divdbl.dblclick(function () {
    divdbl.toggleClass('dbl');
  });
</script>
 
</body>
</html>
Double click the block

上篇: click()

下篇: contextmenu()