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="https://www.lanmper.cn/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