0

Bootstrap が初めてで、アコーディオンに問題があります。誰かが私がそれを解決するのを手伝ってくれることを願っています.

基本的に、空のアコーディオンとドロップダウン メニューがあります。ドロップダウンメニューで選択が行われるたびに、完全な.accordion-groupマークアップでアコーディオンに追加されますが、.accordion-bodydiv は空です。その後、ドロップ可能として設定されたこのアコーディオン グループと.ui-droppableクラスが自動的に追加されます。

その後、他の div の束をドラッグ アンド ドロップすることができ.accordion-group、それらの div は.accordion-bodyこの特定のグループに追加されます。.accordion-groupこの部分は正常に機能しますが、クリックして特定.ui-droppableの .

クラスを削除しないようにするにはどうすればよいです.ui-droppableか??

再現する手順:

  1. Bootstrap ページの html マークアップを使用します: (何らかの理由で、ここで HTML を 4 つのスペースでインデントしてコードとしてフォーマットすることができないため、リンクを貼り付けるだけです) http://twitter.github.com/bootstrap/javascript. html#折りたたみ

  2. グループをドロップ可能にする JS を追加する

    $('#accordion2').find('.accordion-group').each(function() { $(this).droppable(); });

  3. 要素を検査して、.ui-droppableクラスが設定されていることを確認します

  4. クリックしてグループを展開します。任意のグループ。

  5. 要素を検査します。.ui-droppableそれらのすべてから剥奪されました

4

1 に答える 1

1

これを解決しましたが、結果を達成するための非常に愚かな方法だと思うので、Bootstrap がトグルを処理する方法に満足していません。.accordion-group誰かがセクションを開くか閉じるたびに、ドロップ可能な属性を再適用するためにループする必要があるとは本当に思いません。

各セクションのボタンと div だけでやり直します。

解決策は次のとおりです。

$('#host-groups').on('shown', function() {
    $('#host-groups').find('.accordion-group').each(function() {
        $(this).attr('id').droppable();

    });
});

$('#host-groups').on('hidden', function() {
    $('#host-groups').find('.accordion-group').each(function() {
        $(this).attr('id').droppable();

    });
});

/フェイスパーム

于 2012-09-27T21:06:49.060 に答える