返回值:jQuerydblclick(handler(eventObject))
为 JavaScript 的 "dblclick" 事件绑定一个处理函数,或者触发元素上的该事件。
-
1.0 新增dblclick(handler(eventObject))
handler(eventObject) (Function) 每当事件触发时执行的函数。 -
1.4.3 新增dblclick([eventData], handler(eventObject))
eventData (Object) 可选参数,将要传递给事件处理函数的数据映射。handler(eventObject) (Function) 每当事件触发时执行的函数。 -
1.0 新增dblclick()
带有参数的该方法是 .bind('dblclick', handler)
的快捷方式,不带参数的该方法是 .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.
我们可以调用不带参数的 .dblclick()
方法,手动触发这个事件:
$('#other').click(function() { $('#target').dblclick(); });
执行完上述代码之后,单击 Trigger the handler,同样会显示上面的信息。
dblclick
事件,只有在满足以下条件的情况下才能被触发:
- 鼠标已经被按下,并且鼠标指针在目标元素的内部。
- 鼠标松开时,鼠标指针依然在该元素的内部。
- 在系统规定的时间内,再次按下鼠标,并且鼠标指针在目标元素的内部。
- 鼠标再次被松开时,鼠标指针依然在该元素的内部。
在同一元素上同时绑定 click
和 dblclick
事件是不明智的。不同的浏览器对事件的触发顺序是不一样的。有些浏览器可能会先接收到两次 click
事件,然后再接收 dblclick
,而有些浏览器可能只接收到其它的一个事件。双击灵敏度(即两次点击之间的时间间隔)在不同的操作系统及浏览器中通常是不一样的,因为用户可以改变其设定。
示例:
在段落上双击时,显示 "Hello World!" 提示框:
jQuery 代码:
$("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="jquery.min.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>