1

リストに追加される動的データがあり、そのデータ内のリンクが機能していないようです。

私はjquery1.8.3を使用しており、メソッドon()を説明する必要があると思いますlive

setInterval(function () {
    getNot();
}, 2000);

function getNot() {
    var data = {
        t1: 'test1',
        t2: 'test2',
        t3: 'test3'
    };
    var size = 0,
        li = '';
    $.each(data, function (k, v) {
        li += '<li>' +
            '<a href="#" class="add" data-listid="' + k + '">' +
            '<h2>load data - ' + k + '</h2>' +
            '</a>' +
            '</li>';
        size++;
    });

    var but = $('#not'),
        ul = $('#not_ul');

    but.find('span').text(size + ' Notifications');
    ul.html(li);
    ul.listview().listview("refresh");
}

// this doesn't seem to work
$('.add').on("click", function () {
    var listId = $(this).data('listid');
    console.log(listId);
    return false;
});

ここで完全な例を参照してください

この問題に関するアイデアはありますか?

4

1 に答える 1

3
$('.add').on("click", function () {

デリゲートイベントonを生成するには、セレクターを渡す必要があります。

$('#{containerId}').on("click", '.add', function () {
    var listId = $(this).data('listid');
    console.log(listId);
    return false;
});

containerId動的に作成されたs要素に最も近い静的要素である必要があります。.add

于 2013-03-02T22:21:10.000 に答える