javascript - 我如何使用 jQuery 来确定点击事件是否在特定元素内触发?

标签 javascript jquery html events

我正在使用以下代码为 block 设置动画。在我的代码中,div_animate()本质上隐藏了一个 <div>如果当前可见,则使用指定的选择器。

$(document).click(function(event){
    div_animate("#container");
});

我需要确定用户是否点击了 #container 的 child 如果是这样,return false; -- 据我所知,此代码如下所示:

$(document).click(function(event){
    if ( /* the event's target has a parent of #container */ ) {
        return false;
    } else {
        div_animate("#container");
    }
});

有什么想法吗?

最佳答案

最简单的事情是:

if ($(event.target).is('#container *, #container')) // edited - thanks @gnarf
  // is a child
else
  // is not a child

您可以做出不同的选择来检测它是否是目标(或非目标)容器的子容器;那只是一个。替代方案:

if ($(event.target).closest('#container').length)

关于javascript - 我如何使用 jQuery 来确定点击事件是否在特定元素内触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4432032/

相关文章:

javascript - 在 JavaFX WebView 中加载 MathJax

javascript - 检测 setInterval 计时器是否在 javascript 中完成

javascript - 在引导模式内的元素上使用偏移量返回零

html css 高度重叠在包含元素之外

javascript - 拖放后设置图像 src

javascript - JS : On page load in stead of onClick

jquery 检查元素显示状态然后隐藏它

javascript - Jquery click 事件不会触发不止一次

javascript - HTML5 Canvas 性能增强

javascript - 来自 getImageData 的 RGB 值未定义