Javascript 如何在菜单外单击关闭此幻灯片?

Javascript 如何在菜单外单击关闭此幻灯片?,javascript,jquery,Javascript,Jquery,我目前正在用jQuery尝试一个移动网站。我在这里实现了一个非常简单的滑入菜单: 现在,我试图让它关闭时,点击任何地方,但菜单。我尝试了一些我已经找到的建议,但由于某些原因,我无法让它发挥作用 提前谢谢 $(document).ready(function() { $menuLeft = $('.pushmenu-left'); $nav_list = $('#nav_list'); $nav_list.click(function() { $(

我目前正在用jQuery尝试一个移动网站。我在这里实现了一个非常简单的滑入菜单:

现在,我试图让它关闭时,点击任何地方,但菜单。我尝试了一些我已经找到的建议,但由于某些原因,我无法让它发挥作用

提前谢谢

    $(document).ready(function() {
    $menuLeft = $('.pushmenu-left');
    $nav_list = $('#nav_list');

    $nav_list.click(function() {
        $(this).toggleClass('active');
        $('.pushmenu-push').toggleClass('pushmenu-push-toright');
        $menuLeft.toggleClass('pushmenu-open');
    });
});

当用户单击窗口中的任意位置时,可以删除类

然后,当单击
$pushMenu
$nav_list
时,可以停止DOM树中冒泡的事件,以防止出现上述情况:

$(document).ready(function () {
    var $menuLeft = $('.pushmenu-left'),
        $nav_list = $('#nav_list'),
        $pushMenu = $('.pushmenu-push');

    $nav_list.click(function () {
        $(this).toggleClass('active');
        $pushMenu.toggleClass('pushmenu-push-toright');
        $menuLeft.toggleClass('pushmenu-open');
    }).add($menuLeft).click(function (e) {
        e.stopPropagation();
    });

    $(window).click(function () {
        $nav_list.removeClass('active');
        $pushMenu.removeClass('pushmenu-push-toright');
        $menuLeft.removeClass('pushmenu-open');
    });
});

您也可以尝试以下方法。如果
目标id
不是
“导航列表”


如果您单击“滑动导航”文本或带有class=“content”@dinmyte的部分,则可能重复的内容无效。谢谢,修复了。因此我使用了上述解决方案,现在我遇到了一个新问题。。。当我打开和关闭一个弹出窗口时,整个滑入菜单停止工作。在我点击F5刷新浏览器之前,这个小按钮基本上是死机。有什么想法吗?@Markusegetsberger嗨,Markus,你能提供一个现场演示吗?我正在这里运行:-在这个页面上,你只需点击两个按钮中的一个,就可以看到菜单是如何停止工作的。谢谢!
$(document).click(function(e)
        {   
           if(e.target.id != "nav_list")
           {
             $nav_list.removeClass('active');
             $pushMenu.removeClass('pushmenu-push-toright');
             $menuLeft.removeClass('pushmenu-open');
           }
        });