• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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事件只有在满足以下条件的情况下才能被触发:

    • 鼠标指针在元素里面时点击。
    • 鼠标指针在元素里面时释放。
    • 鼠标指针在元素里面时再次点击,点击间隔时间,是系统而定。
    • 鼠标指针在元素里面时再次释放。

    在同一元素上同时绑定clickdblclick事件是不可取的。各个浏览器事件触发的顺序是不同的,一些浏览器在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

    上篇:click()

    下篇:contextmenu()