2

私はこのようなリストを持っています

<ul>
   <li class="expandable">Game
     <ul>
        <li>Action</li>
        <li>RPG</li>
     </ul>
   </li>
   <li class="expandable">BBS
     <ul>
       <li class="expandable">Group 1
          <ul>
             <li>Board 1</li>
             <li>Board 2</li>
          </ul>
       </li>
       <li class="expandable">Group 2
          <ul>
             <li>Board 1</li>
          </ul>
       </li>
     </ul>
   </li>
</ul>

リストを折りたたむためのいくつかのJQueryコード。

$('li.expandable').click(function() {
    $(this).children('ul').toggle();
});

たとえば、「ゲーム」のようなものは問題なく動作します。ただし、グループ1などのBBSの下にあるネストされたリストのいずれかをクリックすると、グループ1と2がBBSに折りたたまれます。BBSをクリックすると、リストが再び展開され、グループ1が折りたたまれていることが示されます。これに対する簡単な解決策はありますか?

4

1 に答える 1

6

が必要ですreturn false

何が起こっているのかというと、あなたのリストが別のリストの中にあり、それぞれでクリックイベントがトリガーされているからです。を追加するreturn falseと、最初の1つだけが起動します。

http://jsfiddle.net/4yyau/の例

于 2013-02-21T03:37:01.103 に答える