4

ここにあるjQuery.mmenu-pluginを使用してみましたhttp://mmenu.frebsite.nl/。事前定義されたリストではうまく機能しますが、jQuery で更新されたリストをどのように処理すればよいでしょうか?

初期化された mmenu の例を次に示します。

<nav id="menu" class="mm-menu mm-horizontal mm-ismenu mm-hasheader mm-hassearch mm-current mm-opened">
    <div class="mm-panel mm-opened mm-current" id="mm-m1-p0">               
       <ul id="list" class="mm-list">
            <li id="1"><a>item 1</a></li>
            <li id="2"><a>item 2</a></li>
            <li id="3"><a>item 3</a></li>
        </ul>
    </div>
</nav>

次に、次の方法で項目をリストに追加します。

$("#list").append('<li id="4"><a>"item 4"</a></li>');

追加された (4 番目の) li-item は、mmenu を初期化する前に定義された li-item と同じ動作をしません。これは、例として、初期化後に追加されたアイテムが検索フィールドで機能しないことを意味します。

mmenu を再開したり、それに接続されている li-items を更新したりする方法はありますか?

4

2 に答える 2

1

プラグインのインスタンスがメニューに添付されます。カウンター アドオンは、検索アドオンが他のプラグインの変更に影響を与えるために使用する更新機能をプラグインに登録します。たとえば、検索ボックスに入力すると、表示されているサブメニューの子が削除され、カウンターが更新されます。

これに配線するには、メニュー要素にアタッチされたプラグインのインスタンスが必要です (登録された更新関数を含む配列があるため)

したがって、次のような要素がある場合:

<nav id="menu"></nav>

あなたが経由して初期化したこと:

$("#menu").mmenu();

_update()次に、プラグイン オブジェクト でメソッドを呼び出します。

$("#menu").data('mmenu')._update();
    'menu' is the id of my menu element
    'mmenu' is the name of the plugin
    _update() is the magic function that will call all the update functions registered in the updates array
于 2014-08-25T18:49:31.347 に答える