.dblclick()| jqueryAPI 2.2 中文手册- AspRain.cn 致力于Web开发技术翻译整理

jQuery API 2.2.0

.dblclick()

分类:事件 > 鼠标事件

返回: jQuery

.dblclick( handler )

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

加入于: 1.0
.dblclick( handler )
  • handler
    类型:FunctionEvent eventObject )
    一个函数,在每次事件被触发时执行它。
加入于: 1.4.3
.dblclick( [eventData ], handler )
  • eventData
    类型:Anything
    一个对象,它包含了要传递给事件处理函数的数据。
  • handler
    类型:FunctionEvent eventObject )
    一个函数,在每次事件被触发时执行它。
加入于: 1.0
.dblclick()

该签名不接受任何参数。

该方法在前两种变体中是.on( "dblclick", handler )的简写,在第三种变体中是.trigger( "dblclick" )的简写。当一个元素被双击时,该dblclick事件被发送到该元素上。任何HTML元素都能接上到这个事件。举个例子,设想下面的HTML:

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

该事件处理函数可以绑定到任何<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事件上。事件的触发顺序会因浏览器而不同,有些浏览器在dblclick事件之前会接收到两次单击,而另一些浏览器只接收到一次单击。“双击敏感性”(两次单击会被侦测为一次双击的最大间隔时长)也会因操作系统而异、因浏览器而异,而且通常是可用户配置的。

其它说明

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

示例

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

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

双击以切换背景颜色。

<!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>

演示结果

如果网页上不能运行示例,请点击http://www.asprain.cn/jQueryAPI/dblclick.htm查看示例。

如果你觉得本文档对你有用,欢迎给翻译作者支付宝打赏,支持翻译作者源源不断翻译更多有用的技术文档。