javascript - 当您单击外部时,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 我有一些子菜单,当我单击展开/折叠它们时。它还会折叠主导航菜单。
解决方案
您可能应该检查您单击的元素是否不是.navbar-toggle
. 您可以使用该closest()
功能来做到这一点。这将找到与选择器匹配的第一个父级。
if (_opened === true && !clickover.hasClass("navbar-toggle") && clickover.closest(".navbar-toggle").length === 0)
推荐阅读
- python-3.x - 收集私人 DM 的反应但忽略机器人反应
- php - 如何加快页面加载大量图像的速度
- python - 有没有一种快速而好的方法来检测正在运行的程序的给定像素的颜色?
- haskell - 为什么会有|b|^|a| 函数a->b中的居民。它是怎么来的?为什么它不仅仅是“一个”居民
- python-3.x - Python 3 http.server - 一个奇怪的 IP 地址试图连接我的服务器
- haskell - 在编译时生成类型级别 Nats 用于约束检查
- typescript - 如何在 Angular 6+ 的 mat-paginator 中更改 itemsPerPageLabel
- reactjs - 更新父组件中的状态后,子组件不会重新渲染
- c# - 我需要关于 c# 中计时器的建议吗?
- command-line-interface - 在 Windows Server 2019 Core 中强制安装不兼容的 .inf 驱动程序