【发布时间】:2019-09-02 10:43:33
【问题描述】:
我用 Bootstrap 4 创建了一个菜单。这是 HTML 代码:
{% block head %}
<nav{{ navbar_attributes }}>
{% if container_navbar %}
<div class="container">
{% endif %}
{% if page.navigation_collapsible_first %}
<div class="collapse-navbar-first">
<div class="collapse bg-light navbar-collapse" id="CollapsingNavbarFirst">
{{ page.navigation_collapsible_first }}
</div>
</div>
{% endif %}
{{ page.navigation_menu_first }}
{{ page.navigation_notification_first }}
{{ page.navigation_logo }}
{{ page.navigation_notification_second }}
{{ page.navigation_menu_second }}
{% if page.navigation_collapsible_second %}
<div class="collapse-navbar-second">
<div class="collapse bg-light navbar-collapse" id="CollapsingNavbarSecond">
{{ page.navigation_collapsible_second }}
</div>
</div>
{% endif %}
{% if container_navbar %}
</div>
{% endif %}
</nav>
{% endblock %}
我希望在单击外部时关闭菜单。它适用于下面的 JS 代码,但当我单击它时它也会关闭。只有当我点击外部时它才必须关闭:
$(document).click(function (event) {
if (!$(event.target).closest('#CollapsingNavbarFirst').length) {
$('.navbar-collapse').collapse('hide');
}
if (!$(event.target).closest('#CollapsingNavbarSecond').length) {
$('.navbar-collapse').collapse('hide');
}
});
这是我要测试的网站页面。在右上角的菜单(过滤器框)中,当您从下拉菜单中选择一个选项时,它会关闭。如果单击菜单中的空白区域,它将关闭。
【问题讨论】:
标签: javascript bootstrap-4 twig drupal-8 collapse