javascript - IE 中的冒泡事件

标签 javascript jquery html

全部 现在我定义了一个复选框的更改单击,当选中 chexkbox 时,我会显示一个提示,我还在 HTML 中定义了单击,当我单击任何地方时,我会隐藏一个提示,但我的问题是当我选中复选框时,提示在IE中不显示,我 通过调试器,我发现Body点击是Trigger,是不是一个Bubbling事件?我尝试写一下

window.event ? window.event.cancelBubble = true : e.stopPropagation();

,但是不行,IE中body点击仍然触发,Google则没有这个问题,怎么处理?

$(document).on("change", ".checked", function (self) {
   $(".circle_bot").show();
   window.event ? window.event.cancelBubble = true : e.stopPropagation();
}
               
$("body").click(function () {
        $(".circle_bot").hide();
    });
<body>
  ...
  <div class="circle_bot"></div>
  ...
<input type="checkbox" class="checked"/>
</body>

我只想触发勾选点击,而不是勾选复选框时触发正文点击。

最佳答案

您可以检查点击目标是什么并执行以下操作:

$("body").click(function(event) {
  // don't do anything if checkbox clicked
  if (!$(event.target).is('.checked')) {
    $(".circle_bot").hide();
  }
});

请注意,jQuery 在所有事件处理程序中提供 event 对象,因此您不必查看 window.event 是否可用,它已为您完成

关于javascript - IE 中的冒泡事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38386604/

相关文章:

javascript - visjs.org 库 : display only event dates

javascript - document.create 未加载脚本,未向 JS 文件发出请求

jquery - 如何使用 jQuery 播放 wav 音频文件?为什么wav文件无法解码?

html - 显示没有 float 的内联 block

javascript - 帮助在 JavaScript 中解析/传输 XML?

javascript - 递归 javascript 代码有问题吗?

javascript - jQuery/bootstrap 在单击按钮时显示日期选择器并将值分配给变量而不输入文本

javascript - 隐藏控件时如何禁用单选按钮中的必填字段?

javascript - 在字典列表中列出值

jQuery Lightbox 立即打开和关闭