.dblclick()

.dblclick( handler )返回类型:jQuery

描述:把一个事件处理函数绑定到“dblclick”JavaScript事件上,或者在一个元素上触发该事件。

此方法在前两种变体中是.on( "dblclick", handler )的简写,在第三种变体中是.on( "dblclick", handler )的简写。 当某元素被双击时,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" ).dblclick(function() {
alert( "Handler for .dblclick() called." );
});

现在,在此元素上双击,显示这条警告:

Handler for .dblclick() called.

若要手工触发事件,请调用.dblclick()而不带参数:

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

在执行此代码之后,在Trigger the handler上单击也会弹出警告消息。

dblclick事件会在这一系列事件之后触发:

  • 当指针在元素内部时,按下鼠标键。
  • 当指针在元素内部时,释放鼠标键。
  • 当指针在元素内部时,在一段时间窗口内,再次按下鼠标键,时间窗口长度取决于系统设置。
  • 当指针在元素内部时,释放鼠标键。

把处理函数绑定到同一元素的click事件和dblclick事件上并不可取。在不同的浏览器中,事件触发的次序各不相同,有些浏览器会在dblclick事件之前接收到两次单击事件,而有些浏览器只能接收到一次单击事件。在不同的操作系统和不同的浏览器中,双击敏感性(被侦测为一次双击的两次单击之间相隔的最大时间)可能千差万别。

补充说明:

  • 因为.dblclick()方法是.on( "dblclick", handler )的简写,所以可以使用.off( "dblclick" )来分离它。

示例:

把一个“Hello World!”警告框绑定到网页上每个段落的双击事件上:

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

双击以切换背景颜色。

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>dblclick demo</title>
<style>
div {
background: blue;
color: white;
height: 100px;
width: 150px;
}
div.dbl {
background: yellow;
color: black;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.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>

演示: