首页 > 解决方案 > 当您单击外部时,Bootstrap 3 关闭导航菜单

问题描述

我正在使用以下 jQuery:

            jQuery(document).click(function (event) {
               var clickover = jQuery(event.target);
               var _opened = jQuery(".navbar-collapse2").hasClass("in");
               if (_opened === true && !clickover.hasClass("navbar-toggle")) {
                  jQuery("button.navbar-toggle").click();
               }
            });

问题出在 navbar-collapse 我有一些子菜单,当我单击展开/折叠它们时。它还会折叠主导航菜单。

标签: javascripthtmljquerycss

解决方案


您可能应该检查您单击的元素是否不是.navbar-toggle. 您可以使用该closest()功能来做到这一点。这将找到与选择器匹配的第一个父级。

if (_opened === true && !clickover.hasClass("navbar-toggle") && clickover.closest(".navbar-toggle").length === 0)

推荐阅读