Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过单击/点击外部关闭移动菜单_Javascript_Jquery_Mobile_Menu_Click - Fatal编程技术网

Javascript 通过单击/点击外部关闭移动菜单

Javascript 通过单击/点击外部关闭移动菜单,javascript,jquery,mobile,menu,click,Javascript,Jquery,Mobile,Menu,Click,我想有一个选项来关闭移动菜单点击外的菜单在这个网站上 我搜索了StackOverflow和web,找到了这个解决方案 <script>$(document).click(function(event) { if(!$(event.target).closest('.collapse.in').length) { if($('.collapse.in').is(":visible")) { $('.collapse').hide();

我想有一个选项来关闭移动菜单点击外的菜单在这个网站上

我搜索了StackOverflow和web,找到了这个解决方案

<script>$(document).click(function(event) {
    if(!$(event.target).closest('.collapse.in').length) {
        if($('.collapse.in').is(":visible")) {
            $('.collapse').hide();
        }
    }       
})
</script> 
$(文档)。单击(函数(事件){
if(!$(event.target).closest('.collapse.in').length){
如果($('.collapse.in')。是(“:可见”)){
$('.collapse').hide();
}
}       
})
我应用了它,问题是当在菜单外单击时,它确实会在mobile上关闭,但之后我无法重新打开菜单

有什么原因吗?我如何解决这个问题


谢谢

您可以尝试以下方法:

$('body').on("click", ".dropdown-menu", function() {
        $('.dropdown-menu').hide() 
        $('.collapse').hide() 
});
这样,当您单击按钮时,菜单将打开

 $('.dropdown-menu').on("click",function() {
        $('.collapse').show()
        $('.dropdown-menu').show()    
});

如果不留下评论,这两种方法中的一种应该有效

第一个关闭但无法重新打开,第二个不关闭。