gpt4 book ai didi

javascript - 事件传播困惑

转载 作者:行者123 更新时间:2023-12-02 19:57:29 25 4
gpt4 key购买 nike

我有一个元素嵌套在另一个元素中。我在外部元素上注册了一个 mouseover 事件。当我的鼠标进入外部元素和进入内部元素时它都会触发。如何关闭内部元素上的事件触发?

最佳答案

事件在对象上触发,然后在 DOM 树中向上冒泡。但是您可以使用 event.stopPropagation() 阻止它们冒泡。这只适用于符合标准的浏览器(不是所有浏览器,而是最新版本的 IE)。

innerElement.addEventListener('mouseover', function (event) {
event.stopPropagation();
}, false);

IE 的版本为:

innerElement.attachEvent('onmouseover', function () {
window.event.cancelBubble = true;
});

总而言之:

function listener(event) {
event = event || window.event;
if (event.stopPropagation) {
event.stopPropagation();
} else {
event.cancelBubble = true;
}
}
if (innerElement.addEventListener) {
innerElement.addEventListener('mouseover', listener, false);
} else {
innerElement.attachEvent('onmouseover', listener);
}

关于javascript - 事件传播困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8434032/

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