Twitter Bootstrap无法停止关闭点击的下拉菜单

时间:2013-08-19 04:33:21

标签: twitter-bootstrap login

我已经看过类似的其他问题并尝试了许多解决方案,但没有一个有效。这是问题,这是顶部横幅的迷你登录表单。单击字段时,我需要按钮不自动关闭。这是我的代码:

    <script> 
    $(document).on('click', '.dropdown-menu', function(e){
        $(this).hasClass('keep_open') && e.stopPropagation(); // This replace if conditional.
    });
     ​</script>                 
    <div class="btn-group" >
      <a class="btn btn-small btn-inverse dropdown-toggle" data-toggle="dropdown" href="#">
        <i class="cus-key"></i> Login
        <span class="caret"></span>
      </a>
      <ul class="dropdown-menu pull-right keep_open">
        <form action="clog.php" method="post" class="keep_open">
        <!-- dropdown menu links -->
          <li><input type="text" placeholder="Username..." class="keep_open" /></li>
          <li><input type="text" placeholder="Password..." class="keep_open"/></li>
          <li><input type="submit" name="submit" style="background-image: url('img/login.png'); width: 110px; height: 32px; cursor: hand; margin-top: -5px" value=" " /></li>
          <li><a href="/riders/register.php" ><span style="color: green; float: right" > Sign up for account<i class="icon-double-angle-right"></i></a></span></li>
         </form>
      </ul>
    </div>

2 个答案:

答案 0 :(得分:18)

我明白了。它不在文档就绪功能中。 (帽子提示Koala_dev)  Javascript必须是:

    <script type="text/javascript">

    $(document).ready(function() {
        $(document).on('click', '.dropdown-menu', function (e) {
            $(this).hasClass('keep_open') && e.stopPropagation(); // This replace if conditional.
        }); 
    });
    </script>

答案 1 :(得分:3)

我在手风琴/切换子菜单中遇到了同样的问题,该子菜单嵌套在Bootstrap 3的下拉菜单中。从source code借用此语法以停止关闭下拉列表中的所有折叠切换:< / p>

$(document).on(
    'click.bs.dropdown.data-api', 
    '[data-toggle="collapse"]', 
    function (e) { e.stopPropagation() }
);

您可以将[data-toggle="collapse"]替换为您要停止关闭表单的内容,例如另一个类或另一个数据属性。