当子元素上的 mouseenter 时,如何不触发父元素上的 mouseleave?

Mat*_*att 6 javascript jquery mouseevent jquery-events

一直没能得到这个工作。无需了解我的具体情况以及我为什么要做我正在做的事情,基本摘要是:

我在父元素中有 4 个元素子元素。我目前正在mouseenter给孩子们附加一个:

$('.parent').on('mouseenter', '.child', function() {
    showSomething();
});
Run Code Online (Sandbox Code Playgroud)

然后我想说

$('.parent').on('mouseleave', function() {
    hideSameSomething();
});
Run Code Online (Sandbox Code Playgroud)

但是当mouseenter孩子向mouseleave父母发射 a 并产生令人讨厌的闪烁时。我尝试e.stopPropagation()过使用儿童处理程序,但没有成功。有什么想法如何mouseleave在我输入子元素时并且仅在我真正离开父元素时不触发父事件?

Dip*_*mar 2

尝试将两者合二为一。

官方文档: http: //api.jquery.com/on/#on-events-selector-data

$(".parent, .child").on({
    mouseenter: function() {
        // Handle mouseenter...
    },
    mouseleave: function() {
        // Handle mouseleave...
    }
});
Run Code Online (Sandbox Code Playgroud)