我正在创建一个应用程序来存储我的作业,每当我触摸作业的 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');
});