Twitter bootstrap 选项卡的子菜单控件不取消选择

Twitter bootstrap 选项卡的子菜单控件不取消选择,twitter-bootstrap,tabs,submenu,Twitter Bootstrap,Tabs,Submenu,我发现使用子菜单控制会导致“悬停/选中”状态保留在子菜单选项上,而不管它是否实际选中 <div class="container-fluid"> <h1>Menu-controlled Tabs Test</h1> <div class="navbar"> <div class="navbar-inner"> <div class="container"> <a class=

我发现使用子菜单控制会导致“悬停/选中”状态保留在子菜单选项上,而不管它是否实际选中

<div class="container-fluid">
  <h1>Menu-controlled Tabs Test</h1>
  <div class="navbar">
    <div class="navbar-inner">
      <div class="container">
        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </a>
        <div class="nav-collapse">
          <ul class="nav" id="mytabs">
            <li class="active"><a tabindex="-1" href="#tab1" data-toggle="tab">Select Tab 1</a></li>
            <li class="dropdown">
              <a class="dropdown-toggle" id="drop1" role="button" data-toggle="dropdown" href="#">Dropdown 1<b class="caret"></b></a>
              <ul id="menu1" class="dropdown-menu" role="menu" aria-labelledby="dLabel1">
                <li><a tabindex="-1" href="#tab2" data-toggle="tab">Select Tab 2</a></li>
                <li><a tabindex="-1" href="#tab3" data-toggle="tab">Select Tab 3</a></li>
                <li><a tabindex="-1" href="#tab4" data-toggle="tab">Select Tab 4</a></li>
              </ul>
            <li class="dropdown">
              <a class="dropdown-toggle" id="drop2" role="button" data-toggle="dropdown" href="#">Dropdown 2<b class="caret"></b></a>
              <ul id="menu2" class="dropdown-menu" role="menu" aria-labelledby="dLabel2">
                <li class="dropdown-submenu">
                  <a tabindex="-1" href="#">Sub-menu 1</a>
                  <ul class="dropdown-menu">
                    <li><a tabindex="-1" href="#tab5" data-toggle="tab">Select Tab 5</a></li>
                    <li><a tabindex="-1" href="#tab6" data-toggle="tab">Select Tab 6</a></li>
                    <li><a tabindex="-1" href="#tab7" data-toggle="tab">Select Tab 7</a></li>
                    <li><a tabindex="-1" href="#tab8" data-toggle="tab">Select Tab 8</a></li>
                  </ul>
                </li>
                <li class="dropdown-submenu">
                  <a tabindex="-1" href="#">Sub-menu 1</a>
                  <ul class="dropdown-menu">
                    <li><a tabindex="-1" href="#tab9" data-toggle="tab">Select Tab 9</a></li>
                    <li><a tabindex="-1" href="#tab10" data-toggle="tab">Select Tab 10</a></li>
                    <li><a tabindex="-1" href="#tab11" data-toggle="tab">Select Tab 11</a></li>
                    <li><a tabindex="-1" href="#tab12" data-toggle="tab">Select Tab 12</a></li>
                  </ul>
                </li>
                <li class="dropdown-submenu">
                  <a tabindex="-1" href="#">Sub-menu 1</a>
                  <ul class="dropdown-menu">
                    <li><a tabindex="-1" href="#tab13" data-toggle="tab">Select Tab 13</a></li>
                    <li><a tabindex="-1" href="#tab14" data-toggle="tab">Select Tab 14</a></li>
                    <li><a tabindex="-1" href="#tab15" data-toggle="tab">Select Tab 15</a></li>
                    <li><a tabindex="-1" href="#tab16" data-toggle="tab">Select Tab 16</a></li>
                  </ul>
                </li>
                <li class="dropdown-submenu">
                  <a tabindex="-1" href="#">Sub-menu 1</a>
                  <ul class="dropdown-menu">
                    <li><a tabindex="-1" href="#tab17" data-toggle="tab">Select Tab 17</a></li>
                    <li><a tabindex="-1" href="#tab18" data-toggle="tab">Select Tab 18</a></li>
                    <li><a tabindex="-1" href="#tab19" data-toggle="tab">Select Tab 19</a></li>
                    <li><a tabindex="-1" href="#tab20" data-toggle="tab">Select Tab 20</a></li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </div>
  </div>
  <div class="tab-content">
    <div class="tab-pane active" id="tab1">Tab 1</div>
    <div class="tab-pane" id="tab2">Tab 2</div>
    <div class="tab-pane" id="tab3">Tab 3</div>
    <div class="tab-pane" id="tab4">Tab 4</div>
    <div class="tab-pane" id="tab5">Tab 5</div>
    <div class="tab-pane" id="tab6">Tab 6</div>
    <div class="tab-pane" id="tab7">Tab 7</div>
    <div class="tab-pane" id="tab8">Tab 8</div>
    <div class="tab-pane" id="tab9">Tab 9</div>
    <div class="tab-pane" id="tab10">Tab 10</div>
    <div class="tab-pane" id="tab11">Tab 11</div>
    <div class="tab-pane" id="tab12">Tab 12</div>
    <div class="tab-pane" id="tab13">Tab 13</div>
    <div class="tab-pane" id="tab14">Tab 14</div>
    <div class="tab-pane" id="tab15">Tab 15</div>
    <div class="tab-pane" id="tab16">Tab 16</div>
    <div class="tab-pane" id="tab17">Tab 17</div>
    <div class="tab-pane" id="tab18">Tab 18</div>
    <div class="tab-pane" id="tab19">Tab 19</div>
    <div class="tab-pane" id="tab20">Tab 20</div>
  </div>
</div>

菜单控制选项卡测试

  • 表1 表2 表3 表4 表5 表6 表7 表8 表9 表10 表11 表12 表13 表14 表15 表16 表17 表18 表19 表20

    在上面的JSFIDLE示例中,两个下拉菜单都控制选项卡。“下拉1”功能正常,如预期。但是,“下拉2”将更改选项卡内容,但子菜单选项的“选定”状态不会在选择其他选项时消失

    <div class="container-fluid">
      <h1>Menu-controlled Tabs Test</h1>
      <div class="navbar">
        <div class="navbar-inner">
          <div class="container">
            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </a>
            <div class="nav-collapse">
              <ul class="nav" id="mytabs">
                <li class="active"><a tabindex="-1" href="#tab1" data-toggle="tab">Select Tab 1</a></li>
                <li class="dropdown">
                  <a class="dropdown-toggle" id="drop1" role="button" data-toggle="dropdown" href="#">Dropdown 1<b class="caret"></b></a>
                  <ul id="menu1" class="dropdown-menu" role="menu" aria-labelledby="dLabel1">
                    <li><a tabindex="-1" href="#tab2" data-toggle="tab">Select Tab 2</a></li>
                    <li><a tabindex="-1" href="#tab3" data-toggle="tab">Select Tab 3</a></li>
                    <li><a tabindex="-1" href="#tab4" data-toggle="tab">Select Tab 4</a></li>
                  </ul>
                <li class="dropdown">
                  <a class="dropdown-toggle" id="drop2" role="button" data-toggle="dropdown" href="#">Dropdown 2<b class="caret"></b></a>
                  <ul id="menu2" class="dropdown-menu" role="menu" aria-labelledby="dLabel2">
                    <li class="dropdown-submenu">
                      <a tabindex="-1" href="#">Sub-menu 1</a>
                      <ul class="dropdown-menu">
                        <li><a tabindex="-1" href="#tab5" data-toggle="tab">Select Tab 5</a></li>
                        <li><a tabindex="-1" href="#tab6" data-toggle="tab">Select Tab 6</a></li>
                        <li><a tabindex="-1" href="#tab7" data-toggle="tab">Select Tab 7</a></li>
                        <li><a tabindex="-1" href="#tab8" data-toggle="tab">Select Tab 8</a></li>
                      </ul>
                    </li>
                    <li class="dropdown-submenu">
                      <a tabindex="-1" href="#">Sub-menu 1</a>
                      <ul class="dropdown-menu">
                        <li><a tabindex="-1" href="#tab9" data-toggle="tab">Select Tab 9</a></li>
                        <li><a tabindex="-1" href="#tab10" data-toggle="tab">Select Tab 10</a></li>
                        <li><a tabindex="-1" href="#tab11" data-toggle="tab">Select Tab 11</a></li>
                        <li><a tabindex="-1" href="#tab12" data-toggle="tab">Select Tab 12</a></li>
                      </ul>
                    </li>
                    <li class="dropdown-submenu">
                      <a tabindex="-1" href="#">Sub-menu 1</a>
                      <ul class="dropdown-menu">
                        <li><a tabindex="-1" href="#tab13" data-toggle="tab">Select Tab 13</a></li>
                        <li><a tabindex="-1" href="#tab14" data-toggle="tab">Select Tab 14</a></li>
                        <li><a tabindex="-1" href="#tab15" data-toggle="tab">Select Tab 15</a></li>
                        <li><a tabindex="-1" href="#tab16" data-toggle="tab">Select Tab 16</a></li>
                      </ul>
                    </li>
                    <li class="dropdown-submenu">
                      <a tabindex="-1" href="#">Sub-menu 1</a>
                      <ul class="dropdown-menu">
                        <li><a tabindex="-1" href="#tab17" data-toggle="tab">Select Tab 17</a></li>
                        <li><a tabindex="-1" href="#tab18" data-toggle="tab">Select Tab 18</a></li>
                        <li><a tabindex="-1" href="#tab19" data-toggle="tab">Select Tab 19</a></li>
                        <li><a tabindex="-1" href="#tab20" data-toggle="tab">Select Tab 20</a></li>
                      </ul>
                    </li>
                  </ul>
                </li>
              </ul>
            </div>
          </div>
        </div>
      </div>
      <div class="tab-content">
        <div class="tab-pane active" id="tab1">Tab 1</div>
        <div class="tab-pane" id="tab2">Tab 2</div>
        <div class="tab-pane" id="tab3">Tab 3</div>
        <div class="tab-pane" id="tab4">Tab 4</div>
        <div class="tab-pane" id="tab5">Tab 5</div>
        <div class="tab-pane" id="tab6">Tab 6</div>
        <div class="tab-pane" id="tab7">Tab 7</div>
        <div class="tab-pane" id="tab8">Tab 8</div>
        <div class="tab-pane" id="tab9">Tab 9</div>
        <div class="tab-pane" id="tab10">Tab 10</div>
        <div class="tab-pane" id="tab11">Tab 11</div>
        <div class="tab-pane" id="tab12">Tab 12</div>
        <div class="tab-pane" id="tab13">Tab 13</div>
        <div class="tab-pane" id="tab14">Tab 14</div>
        <div class="tab-pane" id="tab15">Tab 15</div>
        <div class="tab-pane" id="tab16">Tab 16</div>
        <div class="tab-pane" id="tab17">Tab 17</div>
        <div class="tab-pane" id="tab18">Tab 18</div>
        <div class="tab-pane" id="tab19">Tab 19</div>
        <div class="tab-pane" id="tab20">Tab 20</div>
      </div>
    </div>
    

    有人能帮我解决吗?

    我遇到了同样的问题,并为它写了一个快速解决方案:

    $(document).ready(function(){
        $(".dropdown-submenu").each(function(){
            var submenu = $(this).find(".dropdown-menu");
            submenu.find("li").each(function(){
                var item = $(this);
                item.click(function(){
                    submenu.find("li").removeClass("active");
                });
            });
        });
    });
    
    要使其工作,只需将其放置在html文件的脚本标记中。就像这里:


    我无法重现该问题。你用的是什么浏览器?