0

wordpress プラグインを使用して、クラスを「編集者の選択」としてコメントに追加しています。

このページには、コメントを表示するボタンと編集者の選択を表示するボタンの 2 つのボタンがあります。すべて正常に動作しています。

コード:-

$(document).ready(function () {


    $("#editors-picks").on("click", function(e){

        $("ol.commentlist li").not(".featured").fadeOut(); // fade out any comments that aren't 'featured'

    }); 
    $("#comments").on("click", function(e){

        $("ol.commentlist li").not(".featured").fadeIn(); // fade all comments back in

    });
});

問題は、(ajax を介して) DOM ツリーに動的に追加されるコメントです。新しいコメントが追加された後、関数は機能しません。.on を使用するとこれが修正されると思いましたが、そうではありません。

4

1 に答える 1

1

「関数が機能しない」ということは、ボタンが応答しないことを意味する場合は、リスナーを要素自体ではなく、ドキュメントに委譲してみることができます。例えば:

$(document).on("click","#editors-picks", function(e){

    $("ol.commentlist li").not(".featured").fadeOut(); // fade out any comments that aren't 'featured'

}); 

ただし、新しく追加されたコメントは関数の影響を受けず、古いコメントは影響を受けるという意味であれば、どうしてそうなるのかわかりません。

于 2013-08-31T00:09:19.283 に答える