jquery - 鼠标悬停和鼠标移出事件 jQuery

标签 jquery

当用户将鼠标悬停在图标上时,我正在创建 DIV 菜单。 div 菜单还有两个具有 onclick 事件的子 div。当我将鼠标悬停在图标上时,菜单 div 会出现,但当我要选择子 div 时,主菜单 div 会隐藏。

     <div id="actionMenu" style="display:none;width:40px;height:30px;background-color:white;z-index:9">
            <div id="addRowDiv">Add</div           >
            <div id="deleteRowDiv">Delete</div>
        </div>

$(actionImage).mouseover(function(e) {

        // get the coordinates
        var x = e.pageX - 40;
        var y = e.pageY - 10;

        $("#actionMenu").css({

            position:"absolute",
            top: y + "px",
            left: x + "px"
        });   


        $("#actionMenu").attr("rowId", $(td).parent().attr("id"));

        $("#actionMenu").show();
    });

$("#actionMenu").mouseout(function() {

        $(this).hide();

    });


    $("#actionMenu").find("#addRowDiv").click(function() {

        alert('add row clicked');

    });     

更新 1:

我有一个填充了数据的表。其中一列是一个图标 (actionImage)。当我将鼠标悬停在图标上时,我想显示 div 菜单(完成)。 div 菜单有两个子 div(添加和删除)。现在,当我将鼠标悬停在子 div 上时,主 div (actionMenu) 就会消失。既然子 div 位于操作菜单 div 内,为什么它会消失?

最佳答案

您在鼠标移开时隐藏了#actionMenu

所以发生的事情是,当您位于图标内部时,div 会显示并隐藏(我假设图标位于#actionMenu 之外)。最后,#actionMenu div 被隐藏,因为您在进入 div 之前就在外面。

编辑:下面似乎可以解决问题。请参阅DEMO这里

$("#actionMenu").mouseenter(function() {
    $(this).show();
}).mouseleave(function() {
    $(this).hide();
});

关于jquery - 鼠标悬停和鼠标移出事件 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8948113/

相关文章:

jquery - 图像 slider 无法正常工作

jquery - 如何调整照片库中照片的大小以减少加载时间?

javascript - 通过 jQuery 分离 googlemaps 的纬度和经度

jquery验证器addmethod动态消息

javascript - 如何使用 jQuery 根据选择显示/隐藏 div?

asp.net - 页面加载动画

jquery - CouchDB cookie 身份验证不适用于 jQuery

javascript - 根据div id切换图像CSS

javascript - Bootstrap 模式可以工作但不显示

jquery - 使用 iscroll 与 jquery 移动绑定(bind)问题