【问题标题】:A dropdown menu who have dropdown's inside (Bootstrap-navbar) for tablet用于平板电脑的下拉菜单(Bootstrap-navbar)
【发布时间】:2013-07-26 14:19:44
【问题描述】:

我尝试制作一个内部带有下拉菜单的导航栏,但在此,我不想在里面有下拉菜单。但是当我点击它时,菜单关闭。我不想阻止这个功能,当我点击它时它就会消失,因为我认为这是因为它不能工作。我在https://github.com/twitter/bootstrap/pull/3383 上看到了关于 stopPropagation 的内容,但我不知道在哪里可以声明,而且它不是公式。

编辑:我不能使用 li class="dropdown-submenu" 因为当您使用手机或平板电脑时,当您触摸其中的链接时菜单会关闭。

这是我的代码:

<div class="bs-docs-example">
    <div class="navbar">
      <div class="navbar-inner">
        <div class="container">
          <a class="btn btn-navbar" data-toggle="collapse" data-target=".navbar-responsive-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </a>
          <a class="brand" href="/app/alink">Title</a>
          <div class="nav-collapse collapse navbar-responsive-collapse">
                <ul class="nav">
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Article A<b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            <li><a href="/app/alink">Title Article 1-A</a></li>
                            <li><a href="/app/alink">Title Article 2-A</a></li>
                        </ul>
                    </li>
                    <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">More ...<b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Article B<b class="caret"></b></a>
                                <ul class="dropdown-menu">
                                    <li><a href="/app/alink">article 1-B</a></li>
                                </ul>
                            </li>
                            <li><a href="#" class="dropdown-toggle" data-toggle="dropdown">Article C<b class="caret"></b></a></li>
                            <li><a href="#" class="dropdown-toggle" data-toggle="dropdown">Article D<b class="caret"></b></a></li>
                        </ul>
                    </li> 
                </ul>
            </div>
        </div>
    </div>
</div>


【问题讨论】:

    标签: twitter-bootstrap drop-down-menu navbar


    【解决方案1】:

    我找到了另一个解决方案。我在我的代码之后添加了:

    <script type="text/javascript"> 
    $('.dropdown-menu').click(function(event){
        event.stopPropagation();
    });
    </script>
    

    Dropdown 不适用于此解决方案,因此我使用“dropdown-submenu”来解决该问题(感谢@Schmalzy)。所以当我触摸一个链接时,子菜单就会打开。没有上述代码,子菜单无法在平板电脑上正常工作。

    【讨论】:

      【解决方案2】:

      您可以使用 bootstrap3 的响应式下拉菜单。

      <header class="navbar navbar-inverse navbar-fixed-top bs-docs-nav" role="banner">
        <div class="container">
          <div class="navbar-header">
            <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
            <a href="./" class="navbar-brand">Bootstrap</a>
          </div>
          <nav class="navbar-collapse bs-navbar-collapse collapse" role="navigation" style="height: 1px;">
            <ul class="nav navbar-nav">
              <li>
                <a href="./getting-started">Getting started</a>
              </li>
              <li>
                <a href="./css">CSS</a>
              </li>
              <li>
                <a href="./components">Components</a>
              </li>
              <li>
                <a href="./javascript">JavaScript</a>
              </li>
              <li>
                <a href="./customize">Customize</a>
              </li>
            </ul>
          </nav>
        </div>
      </header>
      

      【讨论】:

        【解决方案3】:

        问题出在 Bootstrap V2.3.2 中,您可以在此链接中看到 http://getbootstrap.com/2.3.2/examples/carousel.html

        您可以将引导程序升级到版本 3 或使用此样式来解决问题

        /*Fix navbar dropdown collapsed on mobile devices*/
        .dropdown-backdrop {
            position: static;
        }
        

        感谢http://yogarelax.harpoonmysite.com/

        【讨论】:

          猜你喜欢
          • 2015-08-30
          • 1970-01-01
          • 2012-09-17
          • 2015-10-31
          • 1970-01-01
          • 2012-06-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多