jquery - mouseenter/mouseleave 受到嵌套子对象的影响

标签 jquery mouseenter mouseleave

我正在文档就绪状态下隐藏控制面板 (myNestContainer)。我有一个名为 navMyNest 的按钮,当 mouseenter 发生时,会显示 myNestContainer。这很好用。

问题是我希望用户能够浏览控制面板,但是考虑到 myNestContainer 中有嵌套的 DIV 容器,一旦输入,mouseleave 生效,控制面板关闭。

这比 mouseenter/mouseout 工作得更好,但仍然没有我想要的功能。

关于如何覆盖子对象以便控制面板在用户查看时保持打开状态有什么想法吗?

提前致谢。

$(document).ready(function() {
$("div#myNestContainer").hide();
});

$("div#navMyNest").live("mouseenter", function(event) {
    $("div#myNestContainer").show();
});

$("div#myNestContainer").live("mouseleave", function(event) {
    $("div#myNestContainer").hide();
});

最佳答案

当鼠标移动到嵌套元素时,使用 event.latedTarget 使父元素保持可见。

$('#myNestContainer').mouseout(function(e)
{
    var evt = e || window.event;
    if (evt.relatedTarget != document.getElementById('navMyNest'))
    {
        $("#myNestContainer").hide();
    }
});

关于jquery - mouseenter/mouseleave 受到嵌套子对象的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8419273/

相关文章:

javascript - Bootstrap 滚动 spy 不工作和导航菜单按钮导致标题重新加载

php - 使用ajax从php多次返回

javascript - 滚动 div 时 react

jQuery mouseenter 导致div元素移动

java - 当 MouseEnter 事件触发时显示弹出窗口

javascript - window onresize 对 Jquery 中的断点执行操作

jQuery mouseleave 如果下一个悬停 id 不等于 'X' 则删除

javascript - 当鼠标移开两个 div 时隐藏一个 div,但如果您将鼠标悬停在其中一个或另一个则不会隐藏

jquery - 图像上的 div 褪色无法保持显示

javascript - 如何阻止 Mouseleave 触发出现在目标上方的元素?