2017-06-20 61 views
0

我有一個下拉菜單,我希望它保持開放,點擊後當我點擊裏面(但點擊它或MENU外面時關閉。)引導保持下拉開放內部

好像當我在input中輸入某些內容時,下拉菜單不會關閉,但當我點擊下拉菜單中的其他任何地方時,它會關閉。 如何通過使用jQuery避免這種情況?

下面是我的代碼:

HTML

<div id="navbar"> 
<nav class="navbar navbar-default navbar-static-top" role="navigation"> 

     <div class="collapse navbar-collapse" id="navbar-collapse-1"> 
      <ul class="nav navbar-nav"> 

       <li class="dropdown"> 

        <a href="#" class="dropdown-toggle" data-toggle="dropdown">MENU</a> 

        <div class="dropdown-menu"> 
         <p>HELLO</p> 
         <input> 

        </div> 
       </li> 
       </ul> 
     </div> 

Bootply DEMO

+0

答案應該在這裏找到:https://stackoverflow.com/questions/25089297/twitter-bootstrap-avoid-dropdown-menu-close-on-click-inside – 2017-06-20 07:32:58

+0

@NathanGalea我試過這個,但它不適合我 –

回答

0

你可以試着讓你的代碼是這樣....

$(document).ready(function(){ 
 
\t $('.dropdown-toggle').on('click', function(event){ 
 
\t \t $('.dropdown-menu').slideToggle(); 
 
\t \t event.stopPropagation(); 
 
\t }); 
 
\t $(window).on('click', function(){ 
 
\t \t $('.dropdown-menu').slideUp(); 
 
\t }); 
 
\t $('.dropdown-menu').on('click', function(event){ 
 
\t \t event.stopPropagation(); 
 
\t }); 
 
});
.navbar {width: 80%; margin: auto; padding: 0px 12px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<div id="navbar"> 
 
    <nav class="navbar navbar-default navbar-static-top" role="navigation"> 
 
     <ul class="nav navbar-nav"> 
 

 
      <li class="dropdown"> 
 

 
       <a href="#" class="dropdown-toggle" data-toggle="dropdown">MENU</a> 
 

 
       <div class="dropdown-menu"> 
 
        <p>HELLO</p> 
 
        <input> 
 

 
       </div> 
 
      </li> 
 
     </ul> 
 
    </nav> 
 
</div>

+0

我有這個問題。當我點擊其他鏈接並嘗試再次點擊菜單時,子下拉菜單不再顯示。我如何解決它? –

+0

@ H.Kim您可以通過再次編輯您的問題來發布您的代碼。所以我可以猜測會發生什麼錯誤..? –

+0

所以例如,當我點擊其他鏈接,我被導向到另一個頁面,我不能再打開'菜單'我在軌道上使用ruby的時刻 –