javascript - 选择一个元素而不选择父元素

标签 javascript jquery css

我在监听器 jquery 中使用,我想要一些东西 $(".parentClass:not(.childClass)").on("click",function(){}),但是当我点击 child 时这段代码不起作用div 监听器已运行,我只想运行父级;

最佳答案

您可以使用 event.stopPropagation() 用于阻止父事件处理程序操作

// Handler for parent
$(".parentClass").on("click", function(e) {
  alert('hi')
});

// Handler for child
$('.childClass').click(function(e) {
  e.stopPropagation();
  // preventing any parent handlers action
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="parentClass">
  parent1
  <div class="childClass">
    child
  </div>
</div>

event.stopPropagation() : Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event.

取自 https://api.jquery.com/event.stoppropagation/

关于javascript - 选择一个元素而不选择父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32548400/

相关文章:

jquery - 在某个元素之前添加元素

jquery - "checked"如果动态创建 html,复选框的属性不会启用

css - 选择子菜单项时,suckerfish 顶级元素保持突出显示

Javascript 二维数组问题 - 所有元素都是最终条目的副本

Javascript 电子邮件验证 - 有帮助吗?

jquery - 绝对侧边栏比内容 clearfix 高?

html - 从单个 png 图像获取图标

javascript - 单击下划线动画

javascript - 注入(inject)脚本时出错

javascript - CKEditor 中的 insertHTML 不仅适用于图像