我正在创建一个存储我的作业的应用程序,每当我触摸家庭作业的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");
}
有什么建议吗?为什么会这样?
答案 0 :(得分:2)
我通过将绑定更改为.on来解决问题,并在设备就绪函数上使用它,我认为这就是委托评论的全部内容。
$("#lHw").on("click", "li a", function(e){
$.id= $(this).data('uid');
});