1

JQuery Mobile を使用して単純なリストをレンダリングする関数があります。

function() {
    var view = $("#test-content");
    view.empty();
    console.log(view);
    var ul = $("<ul></ul>").appendTo(view);

    for(var i=1; i <= 5; i++) {
        $("<li id=\"item" + i + "\">Item " + i + "</li>").appendTo(ul);
    }
    ul.listview();
}

タップするとテーマが変わるように各要素をバインドするにはどうすればよいですか?

for ループに次のコードを追加しようとしましたが、何もしません。

$("#item" + i).bind("tap", function() {
            $(this).attr("data-theme", "e"); 
        });
4

1 に答える 1

2

# for id セレクターも見逃していましたが、イベントをバインドする前に、id アイテムを持つ要素が追加されていることを確認してください。

$("#item" + i).bind("tap", function() {
        $(this).attr("data-theme", "e");     
});

動的に追加された要素には on() を使用できます。動的に追加された要素の親または にイベントをデリゲートできますdocument

$(document).on("tap", "id^=item", function() {
     $(this).attr("data-theme", "e"); 
});
于 2013-07-09T17:23:25.867 に答える