javascript - JQuery:如何在仍然触发父 onclick 事件的同时停止子 onclick 事件

标签 javascript jquery

我想知道如何在仍然触发父 onclick 事件的同时停止子 onclick 事件。例如以下结构:

<div id="parent">
   <div id="child1"></div>
   <div id="child2"></div>
   <div id="child3"></div>
</div>

比如我点击“child1”,“child1”的onclick事件不会被触发,但是“parent”的onclick事件仍然会被触发。

非常感谢!

最佳答案

您可以将点击 传递给父级吗?

$('.child1').click(function(e){
    e.preventDefault();
    $(this).parent('#parent').trigger('click');
});

当您点击.child1 时,它会阻止默认操作,然后触发id 为#parent 的child1 的父级的点击。

实际上 - 可能会忽略上面的内容 - 根据下面的评论,它可能会导致冒泡。您真正需要做的就是使用 e.stopPropagation();

我创建了一个 jsfiddle展示了尽管 child1 绑定(bind)了一个点击函数,但它被忽略了,所以父点击只会被拾取。

关于javascript - JQuery:如何在仍然触发父 onclick 事件的同时停止子 onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12278313/

相关文章:

javascript - 在javascript中读取n个数字并计算列表中的+ve、-ve数字和零

javascript - 字符串中的递增数字

javascript - 按类名包装 List 元素

javascript - 在 ajax 请求之前使用 angularjs 验证表单

javascript - 重新加载一组新图像使同位素中的 div 高度为 0

jquery - 光滑 slider 中的 AppendArrows 不移动 slider

javascript - 我想使用所选按钮的 id,但如何从中获取 id? this.id 不起作用

javascript - 默认水平滚动的表格

javascript - 从 json 编码字符串中检索值

javascript - 如何调整沿边缘的点处的框阴影?