我正在通过phonegap(一个带有4个数据角色页面的html页面)创建一个移动应用程序。在页面上显示一个列表视图。
在 pagebeforeshow 上,我将列表项动态添加到我的 ul。在 pageshow 上,我刷新了列表视图。
这样可行。但是,前一两秒我仍然看到没有jquery mobile 样式的列表。只有在此之后,它才会刷新为正确的样式。
可能是什么问题?(备注:当我将脚本标签放在头部时,它可以工作,但其他事件不再起作用。不确定这是否与它有关。)
谢谢你,克里斯托夫
$("#tips").on('pagebeforeshow', function(){
db.transaction(getDbTips, onDbError, onDbSuccess);
});
$("#tips").on('pageshow', function(){
$("#tipsLijst").listview('refresh');
});
function getDbTips(tx) {
tx.executeSql("CREATE TABLE IF NOT EXISTS TIPS (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, beschrijving)");
tx.executeSql("SELECT * from TIPS", [], onSelectTipsSuccess, onDbError);
}
function onSelectTipsSuccess(tx, results) {
$('.tip_item').remove();
var len = results.rows.length;
for(var i=0; i<len; i++) {
$("#tipsLijst").append("<li class='tip_item'><a href='#detailsTip' onclick='sessionStorage.TipId=" + results.rows.item(i).id + "'>" + results.rows.item(i).beschrijving + "</a></li>");
}
};
HTML:
<div data-role="page" id="tips">
<div data-role="header">
<h1>Kado-tips</h1>
<a href="#home" data-role="button" data-icon="home" data-iconpos="notext">Home</a>
</div>
<div data-role="content">
<ul data-role="listview" id="tipsLijst">
</ul>
</div> <!-- einde content -->