绑定函数仅适用于最后一个元素

Bind function only works on last element

本文关键字:最后一个 元素 适用于 函数 绑定      更新时间:2023-09-26

我正在创建一个应用程序来存储我的作业,每当我触摸作业的 li 时,都会从 sqlite 数据库中显示此作业的信息。我的问题是,当我从javascript添加每个li时,我绑定了一个函数,以便每次我触摸该项目时它都会返回其uid。但是每当我添加新的 hw 时,其他的都不会返回他们的 uid。

我的一些代码:

function newFormSuccess(tx, results){
    var lista = $("#lHw");
    var obj = $(
        '<li><a id="' + results.id + '" href="#detalle" data-uid=' + results.id +
        ' class="ui-btn ui-btn-icon-right ui-icon-carat-r" data-transition="pop" data-direction="reverse">' +
        '<h2>' + results.title + '</h2>' +
        '<p>' + results.desc + '</p><p>' + results.date + '</p>' +
        '<p class="ui-li-aside">Type</p></a>' +
        '</li>'
    );
    obj.find('#' + results.id).bind('click', function (e) {
        $.id = $(this).data('uid');
    });
    lista.append(obj).listview('refresh');
    $.mobile.changePage("#home");
}

有什么建议吗?为什么会这样?

我通过将绑定更改为 .on 并在设备就绪函数上使用它来解决问题,我认为这就是代表评论的全部内容。

$("#lHw").on("click", "li a", function(e){
        $.id= $(this).data('uid');
    });