Jquery 当鼠标移出时尝试鼠标移出

Jquery 当鼠标移出时尝试鼠标移出,jquery,Jquery,我正在尝试为我正在创建的下拉菜单专门创建一个事件。如果它是可见的。则(“:visible”),除菜单本身外,单击的任何位置都将关闭它 ---编辑--- 这是不起作用的。另一个代码运行良好。并且.on()工作得很好,但是下面的代码没有满足我的需要 $(document).on("mouseout", "#menuPopUp", function(){ $(document).on("mousedown", function(){ $("#menuPopUp").hide();

我正在尝试为我正在创建的下拉菜单专门创建一个事件。如果它是可见的
。则(“:visible”)
,除菜单本身外,单击的任何位置都将关闭它

---编辑---

这是不起作用的。另一个代码运行良好。并且
.on()
工作得很好,但是下面的代码没有满足我的需要

$(document).on("mouseout", "#menuPopUp", function(){
   $(document).on("mousedown", function(){
      $("#menuPopUp").hide();
   });
});

我试图在单击除自身以外的任何内容时隐藏菜单操作。

您是否尝试过这种方法:

$(document).on("mousedown", "#headerPicMenu", function() {
    if ($("#menuPopUp").is(":visible")) {
       $("#menuPopUp").hide();
    } else {
       $("#menuPopUp").show();
    }
});

$(document).on("mouseout", "#menuPopUp", function() {
    if ($("#menuPopUp").is(":visible")) {
       $("#menuPopUp").hide();
    } else {
       $("#menuPopUp").show();
    }
});

$("#menuPopUp").on('mousedown', function() {
   $(this).mousedown();
});

更新了答案和小提琴。

尝试在mouseover/mouseout上添加/删除一个类,然后在click事件中测试它;大致如下:

$("#menuPopUp").mouseover(function() {
   $(this).addClass("menuover"); 
});

$("#menuPopUp").mouseout(function() {
   $(this).removeClass("menuover"); 
});

$(document).on("mousedown", function(){
    if($("#menuPopUp").is(":visible") && !$("#menuPopUp").hasClass("menuover")) {
        $("#menuPopUp").hide();
    }
});

您可以使用if条件代替警报。如何使用?我已经完成了
$(document).on(“mousedown”,function(){})之前,它没有工作。请注意,我说过我希望在点击除弹出菜单以外的任何东西时该框消失。更新了答案。这是你想要的吗?或者如果你为它做一把小提琴就好了。这对查看您的代码情况更有用。部分原因是,如果单击了任何内容,我希望它消失,但我有,这只是出于某种原因,单击没有注册,可能是因为我做错了什么。请发布一些html或只是编辑它。阅读我的文章,我认为我的问题措辞可能会引起混乱。这可能是你需要的。