javascript - 绑定(bind)列表元素以点击 JQuery Mobile

标签 javascript jquery html jquery-mobile

我有一个使用 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();
}

如何绑定(bind)每个元素,以便在点击时改变主题?

我尝试在 for 循环中添加以下代码,但它没有做任何事情。

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

最佳答案

您错过了 # for id 选择器还确保在绑定(bind)事件之前添加具有 id item 的元素。

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

您可以对动态添加的元素使用 on()。您可以将事件委托(delegate)给动态添加元素的父级或 document

$(document).on("tap", "id^=item", function() {
     $(this).attr("data-theme", "e"); 
});

关于javascript - 绑定(bind)列表元素以点击 JQuery Mobile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17554405/

相关文章:

javascript - 动态更改 Kendo MultiSelect 的 DataTextField

javascript - 命名和未命名匿名 Javascript 函数之间的区别

javascript - 显示隐藏按钮,至少选中一个复选框

javascript - html页面中的表格行数

javascript - 使用 jQuery 将表单提交的值存储在 var 中

javascript - 如何不让别人点击导航器的返回按钮?

java - 如何检查用户是否使用 Android 浏览器?

javascript - 避免点击按钮时自动刷新

html - 不同浏览器之间奇怪的 HTML 表单字段大小差异

javascript - 动画播放状态行不起作用并禁用其他功能?