全部的
现在我定义了一个更改点击复选框,当选中chexkbox时,我会显示一个提示,我也定义了在我的HTML中点击,当我到处点击时,我会隐藏一个提示,但我的问题是当我选中复选框时,提示不会显示在IE中,我会
通过调试器,我发现Body click是触发器,是冒泡事件吗?我试着写

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

,但它是不工作的,身体点击仍然在IE中触发,在谷歌是不是没有这个问题,怎么处理呢?
$(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>

我只想触发勾选点击,不是触发体点击时选中的复选框。

最佳答案

您可以检查click的目标是什么,然后执行以下操作:

$("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/

10-10 01:14