-2

テーブル行 ( ) をテーブルに動的に追加していますがtr、これらのtrタグにはいくつかのリンクが含まれています。

内部のリンクがクリックされたときに呼び出されるjQueryスクリプトがありtrます。これらのリンクに対してスクリプトが機能していません。ページをリロードすると機能trし、サーバー側からデータが取り込まれます。

どうすればこの問題を克服できますか?

$(".comment-like").on('click',function() {
    var spanEle = $(this).closest('li').find('.comment-like-count');
    if (spanEle.length) {
        var newCount = parseInt(spanEle.text(),10);
        spanEle.text(newCount + 1);
    }
});
4

4 に答える 4

3

リンクは動的に出入りするため、リンク自体ではなく、テーブルのような親にリスナーを委任する必要があります。

$('your table selector').on('click','.comment-like', function () {
    var spanEle = $(this).closest('li').find('.comment-like-count');
    if (spanEle.length) {
        var newCount = parseInt(spanEle.text(), 10);
        spanEle.text(newCount + 1);
    }
});
于 2013-03-12T14:39:33.460 に答える
0

ページの読み込み時に存在する親セレクターを選択します。お持ちでない場合は、$('body')

$('.elem-existing-on-pageload').on('click', '.comment-like', function() {
    ...
});
于 2013-03-12T14:40:46.303 に答える
0

代わりにデリゲートを使用したいと思います。

于 2013-03-12T14:37:35.927 に答える
-2

それらを追加した後、それらの新しい要素のイベント ハンドラーをアタッチする必要があります。

于 2013-03-12T14:38:38.437 に答える