gpt4 book ai didi

javascript - 有没有办法检查气泡是否触发了点击?

转载 作者:IT王子 更新时间:2023-10-29 03:18:44 25 4
gpt4 key购买 nike

单击 jQuery 中的元素会导致主体冒泡。如果我们有一个绑定(bind)到显示警报的 body 的点击处理程序,那么单击任何元素都会冒泡到 body 并触发警报。我的问题是,有什么方法可以知道 body 警报是由于直接点击 body 而触发的,还是由于 body 上的气泡而触发的点击。

最佳答案

比较 event.target这个this 始终是处理程序绑定(bind)的事件; event.target 始终是事件发起的元素。

$(document.body).click(function(event) {
if (event.target == this) {
// event was triggered on the body
}
});

如果您知道文档中的元素是唯一的(基本上,只是 body),您还可以检查 thisnodeName >:

$(document.body).click(function(event) {
if (event.target.nodeName.toLowerCase() === 'body') {
// event was triggered on the body
}
});

您必须执行 toLowerCase(),因为 nodeName 的大小写在浏览器之间不一致。

如果您的元素有 ID,最后一个选项是与 ID 进行比较,因为这些 ID 也必须是唯一的:

$('#foo').click(function(event) {
if (event.target.id === 'foo') {
// event was triggered on #foo
}
});

关于javascript - 有没有办法检查气泡是否触发了点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6063129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com