我正在使用JQM + Phonegap开发应用程序。只有当页面注入到dom准备就绪时才添加内容vía回调
为了避免设备减速和崩溃应用程序,我使用JQM单页导航模型,因为它允许自动DOM大小管理。
当用户浏览并手动使用changePage('page.html')来处理用户交互时,我使用href =“page.html”动态注入页面到DOM中。
所以,就我conerned,对那些使用服务器的数据页,我需要:
- 负荷(注入),新的页面到DOM访问目标的div /容器
- 动态地将新的数据(追加)
请看看这个例子用于说明目的:
function loadData (myJSONObject){
// inject page
$.mobile.changePage('page2.html');
//load data
for(var i=0; i<myJSONObject.data.length;i++){
name = myJSONObject.data[i].name;
link = myJSONObject.data[i].description;
// #listData is the target container from page2.html
$("<a />",{
text: name,
href: link
}).appendTo(
$("<li />",{
id: name,
}).appendTo('#listData'));
}
由于JavaScript的异步行为10只
该代码产生一个空列表,因为JQM页面注入功能(S)花费的时间比加载数据不再
**需要注意的是:
- 使用缩模型和changePage(” #target')的工作原理与的setTimeout(
- 测试),并迫使数据装载区还有待工作,但我认为不是最佳的既不是一个良好的发展实践
问:是否有一个回调或方式仅在新页面完全注入到DOM时才开始加载数据,那么目标容器的可用性如何呢?
查看文档的活动部分:http://jquerymobile.com/demos/1.2.0/docs/api/events.html。没有找到你自己的网页,我会建议仔细阅读文档。 – Jasper 2013-02-14 18:58:04