javascript - Jquery 关闭父点击

标签 javascript jquery

我希望窗口仅在单击 pop_up 时关闭(而不是单击 div 内容)。例如。单击背景层隐藏 div。在下面的代码中,我不希望它在仅在“pop_up”上单击 div 内容机器人时关闭 #pop_up

我该怎么做?

$("#pop_up").click(function() {
    $("#pop_up").hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="pop_up">
  <div id="pop_up_content">
    <h1> world </h1>
  </div>
</div>

最佳答案

您正在经历的是事件的冒泡和捕获行为。 检查这个答案What is event bubbling and capturing? .

最简单的方法是将 onClick 附加到子项并停止冒泡。

$("#pop_up_content").click(function(ev) {
   ev.preventDefault()
   ev.stopImmediatePropagation() // best to use to stop other event listeners from being called
});

关于javascript - Jquery 关闭父点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41654420/

相关文章:

javascript - HTML 没有在 Jquery 选择器上更新

javascript - 我如何制作一个外观和行为都像切换按钮的浏览器操作按钮

javascript - jQuery 选择 onChange 更新输入字段值

javascript - Bootstrap-select 在模态内不起作用

javascript - 禁用和启用 jQuery 上下文菜单

javascript - dojo 中的状态服务器端过滤

javascript - 拉伸(stretch)高度/宽度以适应 <Div> 标签中的屏幕

javascript - 回调没有从 sinon.js fakeServer 触发以调用 $.ajax

jquery - 向 div 添加溢出会导致其内容无法正确拖动

asp.net - 为了使用 jQuery 查找它的唯一目的而分配 css 类是一种不好的做法吗?