2

テストページでこれを試してみましたが、うまくいきました。

<div class="btn-group">
  <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown">
    Action <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" role="menu">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
    <li class="divider"></li>
     <li><a href="#">Separated link</a></li>
  </ul>
</div>

ドロップダウン メニュー項目のいずれかをクリックすると、ドロップダウン メニューが閉じます。

ただし、これを HotTowel プロジェクトの nav.html にコピーすると、次のようになります。

<div class="btn-group">
   <a class="btn btn-info" href="#">Home</a>
    <a class="btn btn-info" href="#/details">Details</a>
        <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown">
            Odd Pages <span class="caret"></span>
        </button>
        <ul class="dropdown-menu pull-right" role="menu">
            <li><a href="#/page1">Page 1</a></li>
            <li><a href="#/page3">Page 3</a></li>
            <li><a href="#/page5">Page 5</a></li>
            <li class="divider"></li>
            <li><a href="#">Page 9</a></li>
        </ul>
</div>

Web ページのどこかをクリックするまで、ドロップダウン メニューが閉じません。

なにが問題ですか?

4

2 に答える 2

2

ドロップダウンが閉じないようにする他の JavaScript が必要です。これは、投稿した正確なコードの JSFiddle であり、問​​題なく動作します。

<div class="btn-group">
  <a class="btn btn-info" href="#">Home</a>
  <a class="btn btn-info" href="#/details">Details</a>
  <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown">
     Odd Pages <span class="caret"></span>
   </button>
   <ul class="dropdown-menu pull-right" role="menu">
     <li><a href="#/page1">Page 1</a></li>
     <li><a href="#/page3">Page 3</a></li>
     <li><a href="#/page5">Page 5</a></li>
     <li class="divider"></li>
     <li><a href="#">Page 9</a></li>
   </ul>
</div>

ドロップダウンメニュー

ブートストラップ/jQuery js と競合する可能性のある他の JavaScript を削除してみてください。

于 2013-09-07T18:27:37.473 に答える
1

どうやらデュランダルルートが使用されている場合、アイテムをクリックしてもドロップダウンメニューが閉じないという同じ問題があります。'SPAJumpStart' ソリューションの例も同じように動作します。John Papa は、href の代わりにクリック イベントをバインドすることでこれを「修正」しました。最後に、shell.js の viewAttached 関数に次のコードを追加しました。

        $('ul.dropdown-menu', view).find('li').click(function () {
            // remove the 'open' class on the parent element 
            $(this).parents('.dropdown-menu').parent().removeClass('open');
        });
于 2013-09-25T13:42:44.777 に答える