7

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

    <script> 
    $(document).on('click', '.dropdown-menu', function(e){
        $(this).hasClass('keep_open') && e.stopPropagation(); // This replace if conditional.
    });
     ​&lt;/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>
4

2 回答 2

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>
于 2013-08-19T06:40:07.623 回答
3

我在 Bootstrap 3 的下拉菜单中嵌套的手风琴/切换子菜单遇到了同样的问题。从源代码中借用了这个语法来阻止所有折叠切换关闭下拉菜单:

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

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

于 2014-06-11T20:44:54.347 回答