无法完成这项工作。无需了解我的确切情况以及我为什么要尝试做我正在做的事情,一个基本的摘要是:
我在一个父元素中有 4 个子元素。我目前正在为 children 附加一个 mouseenter
,所以:
$('.parent').on('mouseenter', '.child', function() {
showSomething();
});
那我想说
$('.parent').on('mouseleave', function() {
hideSameSomething();
});
但是当子项上的 mouseenter
触发父项上的 mouseleave
并产生令人讨厌的闪烁时。我已经在子处理程序上尝试了 e.stopPropagation()
但没有成功。当我进入子元素并且仅当我真正离开父元素时,如何不触发父 mouseleave
事件有什么想法吗?
最佳答案
尝试将两者合而为一。
官方文档:http://api.jquery.com/on/#on-events-selector-data
$(".parent, .child").on({
mouseenter: function() {
// Handle mouseenter...
},
mouseleave: function() {
// Handle mouseleave...
}
});
关于javascript - 当 mouseenter 在子元素上时,如何不在父元素上触发 mouseleave?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15152109/