1

How can I prevent the dropdown from disappearing when I click on the body or navbar?

Here's my current HTML:

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
  <ul class="nav navbar-nav">
    <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
    <li><a href="#">Link</a></li>
    <li class="dropdown">
      <a href="#" class="dropdown-toggle" 
         data-toggle="dropdown" role="button" aria-expanded="false">
           Dropdown <span class="caret"></span>
      </a>
      <ul class="dropdown-menu" role="menu">
        <li><a href="#">Action</a></li>
        <li><a href="#">Another action</a></li>
        <li><a href="#">Something else here</a></li>
      </ul>
    </li>
  </ul>
</div>
KyleMit
  • 30,350
  • 66
  • 462
  • 664
Giacomo
  • 341
  • 2
  • 8
  • 25

1 Answers1

2

Here's KyleMit's solution from Keep Bootstrap Dropdown Open When Clicked Off:

//Attaching event handler to .dropdown selector.
$('.dropdown').on({

    //fires after dropdown is shown instance method is called (if you click anywhere else)
    "shown.bs.dropdown": function() { this.close= false; },

    //when dropdown is clicked 
    "click": function() { this.close= true; },

    //when close event is triggered
    "hide.bs.dropdown":  function() { return this.close; }
});
KyleMit
  • 30,350
  • 66
  • 462
  • 664
Saa_keetin
  • 647
  • 6
  • 10