Я создал меню с помощью 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');
}
});
Вот страница моего сайта для тестирования.В меню в правом верхнем углу (поле фильтра) при выборе параметра в раскрывающемся меню он закрывается.Если щелкнуть пробел в меню, оно закроется.