2017-06-20 62 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的时刻 –