javascript - 我们如何检测元素外的双击?

标签 javascript jquery

我有这个功能:

this.div.click( function(e) {
   ...
});

我想听听这个元素之外的双击。我知道我们可以使用 blur() 在元素外部进行点击。但我只想处理双击事件。执行此操作的最佳方法是什么?

最佳答案

您可以使用 .dblclick()事件在 body 级别监听双击,然后使用它的 target 属性和 .contains()查看点击是否发生在 div 中。

像这样:

// div to check if dbl click did _not_ originate from
var mydiv = jQuery("#mydiv").get(0);

// listen to body for double clicks
$("body").dblclick(function(e) {
  // if click target does not fall within #mydiv
  if (mydiv !== e.target && $.contains(mydiv, e.target) !== true) {
    console.log("outside of mydiv");
  }  
});

Here是一个jsbin演示。

关于javascript - 我们如何检测元素外的双击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35489674/

相关文章:

javascript - JustGage 中的自定义颜色无法正常工作

javascript - react-router 和 react-router redux 有什么区别?

javascript - 有没有办法在 typescript 类中生成 getter 和 setter 对?

javascript - Fullcalendar 超薄事件(CSS 错误)

jquery - 尽管有内容 div,但使 div 容器高度为 100%

javascript - 使用 jquery 打开对话框

javascript - 使用 CSS 选择器调用 Javascript

javascript - 在 jQuery 中,如何使用一个按钮从一个表单转到下一个表单(即,像调查问卷一样)

javascript - 使用 React 开发时窗口焦点的变化

javascript - 如何使用 ajax 替代方法使 $.post 请求按顺序运行