I have a bootstrap navbar as follows:
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header nav-tabs" style="border-bottom:none;">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right" style="padding-top:20px">
<li>
<a href="" class="dropdown-toggle" data-toggle="dropdown">
Information <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li>
<a href="/Home/Terms">Terms & Conditions</a>
</li>
<li>
<a href="/Home/Privacy">Privacy Policy</a>
</li>
<li>
<a href="/Home/ContactUs">Contact Us</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
And I collapse the menu when clicked outside the navbar menu as follows:
$("body").on('click', function(event){
var container = $(".navbar");
if (!container.is(e.target) && container.has(e.target).length === 0)
{
container.collapse('hide');
}
});
When clicked outside, the dropdown menu links collapse; but, how do I collapse the "Information"(dropdown-toggle) link too? Any help is appreciated.
Edit: Looked at the post How to close an open collapsed navbar when clicking outside of the navbar element in Bootstrap 3?
The solution seems to work for me in Bootstrap Compiler, but, it collapses the menu even if I click inside the navbar. How do I solve that issue?
$(document).click(function (event) {
var clickover = $(event.target);
var _opened = $(".navbar-collapse").hasClass("navbar-collapse collapse in");
//if (_opened === true && !clickover.hasClass("navbar-toggle")) {
if (_opened === true && !clickover.hasClass("navbar-toggle")) {
$("button.navbar-toggle").click();
}
});