javascript - 如何仅针对单击的图层而不是其父图层触发单击事件

标签 javascript jquery stoppropagation

Fiddle

我当然可以将 .inner 层从 .main 层中取出 然后对另一个包装器使用绝对位置,即 .outer 层 将其放置在相同的位置,这将阻止它触发 .main 点击事件。 但我想知道是否有一种更简单的方法来避免两个 child 都触发两个点击事件 元素和父元素触发点击事件。

最佳答案

您可以使用stopPropagation()

$(document).ready(function() {
    $('.outer').on("click",".main",function() { alert('main clicked'); })
    $('.outer').on("click",".inner",function(e) {e.stopPropagation(); alert('inner clicked'); })
});

http://jsfiddle.net/5xvkM/6/

关于javascript - 如何仅针对单击的图层而不是其父图层触发单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10859018/

相关文章:

javascript - 如何为 [(ngModel)] 分配一个空/空/ undefined object ? Angular 4

javascript - html5 Canvas 文本动画新闻自动收报机

javascript - 使用延迟和何时

javascript - event.stopPropagation() 无法在 chrome 中使用 jQuery 1.7

javascript - 如何检测 Javascript 闲置?

javascript - 使用空格时输入过滤器嵌套div

jquery - Input-group-addon 元素不会触发日期类

javascript - 如何让图片库部分显示 "AJAX Loading.gif"? (jQuery)

javascript - d.stopPropagation 不是 bootstrap select-picker 的函数

jquery - 停止 jQuery 事件函数