I want to have my menu closed when the user clicks outside the menu, not only outside the navbar element. Because I have more collapses in my menu, this solution did not work for me: How to close an open collapsed navbar when clicking outside of the navbar element in Bootstrap 3? The menu disapeares when I click outside the menu, but when I click on the link with a dropdown, the whole menu collapses.
<div class="collapse navbar-collapse nav-mobile" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="list-group panel">
<a href="#submenu-1" class="list-group-item" data-toggle="collapse" data-parent="#MainMenu">Webshop</a>
<ul class="collapse" id="submenu-1">
<a href="#SubMenu1" class="list-group-item" data-toggle="collapse" data-parent="#SubMenu1">Industriële verpakkingen</a>
<a href="javascript:;" class="list-group-item">Promotionele verpakkingen</a>
<a href="javascript:;" class="list-group-item">Gelamineerde verpakkingen</a>
<a href="javascript:;" class="list-group-item">Enveloppen &verzend verpakkingen</a>
<a href="javascript:;" class="list-group-item">Medische verpakkingen</a>
<a href="javascript:;" class="list-group-item">Co-packing</a>
</ul>
</li>
</ul>
Here is my take on this:
This solution handles:
.navbar-toggle
elements (could be<buttons>
or<a>
, and it handles clicks on potential inner elements like<span>
or<strong>
or whatever).<a>
elements (again, it handles clicks on inner elements)..navbar
)..collapse
) elements that might be open (indistinct to where they are placed in the DOM).Not enough for you? No problem. You can customize most of the selectors passed to jQuery (
document
,.collapse
,.navbar
, etc) to suit your needs or even add more conditions.another alternative, you can add code below :
another example : dtc-eng
You can use this to collapse if not clicking a link: fiddle