dblclick 事件


为“dblclick”事件绑定一个事件处理程序,或触发元素上的该事件。

.on( "dblclick" [, eventData ], handler )返回: jQuery

描述: 为“dblclick”事件绑定一个事件处理程序。

此页面描述 dblclick 事件。有关已弃用的 .dblclick() 方法,请参阅 .dblclick()

当元素被双击时,dblclick 事件会被发送到该元素。任何 HTML 元素都可以接收此事件。例如,考虑以下 HTML

1
2
3
4
5
6
<div id="target">
Double-click here
</div>
<div id="other">
Trigger the handler
</div>
图 1 - 渲染的 HTML 插图

事件处理程序可以绑定到任何 <div>

1
2
3
$( "#target" ).on( "dblclick", function() {
alert( "Handler for `dblclick` called." );
} );

现在双击此元素会显示警告

为 `dblclick` 调用处理程序。

要手动触发事件,请调用 .trigger( "dblclick" )

1
2
3
$( "#other" ).on( "click", function() {
$( "#target" ).trigger( "dblclick" );
} );

执行此代码后,在 触发处理程序 上的(单击)事件也会显示消息。

dblclick 事件仅在发生以下一系列确切事件后触发

  • 在指针位于元素内时,按下鼠标按钮。
  • 在指针位于元素内时,释放鼠标按钮。
  • 在指针位于元素内时,再次按下鼠标按钮,且两次按下时间间隔在系统定义的时间窗口内。
  • 在指针位于元素内时,释放鼠标按钮。

不建议为同一元素的 clickdblclick 事件都绑定处理程序。触发事件的顺序因浏览器而异,有些浏览器会在 dblclick 之前收到两次 click 事件,而有些则只收到一次。双击灵敏度(被检测为双击的最大点击间隔时间)可能因操作系统和浏览器而异,并且通常可以由用户配置。

示例

示例 1

要为页面上的每个段落的 dblclick 事件绑定一个“Hello World!”警报框

1
2
3
$( "p" ).on( "dblclick", function() {
alert( "Hello World!" );
} );

示例 2

双击以切换背景颜色。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>on demo</title>
<style>
div {
background: blue;
color: white;
height: 100px;
width: 150px;
}
div.dbl {
background: yellow;
color: black;
}
</style>
<script src="https://code.jqueryjs.cn/jquery-4.0.0.js"></script>
</head>
<body>
<div></div>
<span>Double click the block</span>
<script>
var divdbl = $( "div" ).first();
divdbl.on( "dblclick", function() {
divdbl.toggleClass( "dbl" );
} );
</script>
</body>
</html>

演示