全部 现在我定义了一个复选框的更改单击,当选中 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/