2

jquery スクリプトを 1.9.1 に更新したところ、関数が で動作しなくなりました.live()

作業は.on()完了しましたが、リストから項目が削除されないため、ページを更新して結果を確認する必要があります。

HTML コードを生成します。

for (var i = 0; i < o.length; i++)
    {
        $('#listInserts').append('<div>' + o[i].text + '<a class="del" rel="'+ o[i].dataid +'" href="#">X</a></div>');
    }

前のコード

$('.del').live('click', function() {
        delItem = $(this);
        var dataid = $(this).attr('rel');

        $.post('dashboard/xhrDeleteListing', {'dataid': dataid}, function(o) {
            delItem.parent().remove();
        }, 'json');

        return false;
    });

後のコード

$(document).on('click','.del', function() {
        delItem = $(this);
        var dataid = $(this).attr('rel');

        $.post('dashboard/xhrDeleteListing', {'dataid': dataid}, function(o) {
            delItem.parent().remove();
        }, 'json');

        return false;
    });

何がうまくいかないのですか?

4

2 に答える 2

0

私は自分の問題に対する答えを見つけました

$('.del').on('click', function() {
    delItem = $(this);
    var dataid = $(this).attr('rel');

    $.post('dashboard/xhrDeleteListing', {'dataid': dataid}, function(o) {
delItem.parent().remove();



    });
            return false;
});

モデルから true を返していることがわかりましたが、JSON オブジェクトを待っていました。削除,JSONされ、それは正常に機能しました。

于 2013-04-05T10:29:57.787 に答える
0

HTML 構造の知識があり、「json」が適切ではないことを知っていれば、次のことを試すことができます。

$('#listInserts').on('click','.del', function() {
    var delItem = $(this);
    var dataid = delItem.attr('rel');
    $.post('dashboard/xhrDeleteListing', {'dataid': dataid}, function(o) {
        delItem.closest('div').remove();
    });
    return false;
});
于 2013-04-05T10:24:28.560 に答える