我有两个页面,一个是个人资料页面,另一个是用于评论个人资料页面的对话框页面。当触发init()方法时,问题出在配置文件页面上我更新了DOM,但是一旦对话框页面关闭,init()就会在配置文件页面上再次触发。这不是什么大问题,但我动态地获取了大量数据,并且不想再这样做。有没有办法让一些人如何在个人资料页面的“顶部”打开对话框页面,或者防止个人资料页面隐藏在第一位?
<div data-role='page' id='profile'>
<div data-role='content'>
//dynamically fetch stuff for this div on pageInit()
</div>
</div>
<div data-role="page" id="ProfileComment">
<div data-role="header"><h4>Post comment</h4></div>
<div data-role="content">
<textarea name="comment_data" id="comment_data"></textarea>
<input type="submit" id="button_post" value="Post"/>
</div>
</div>
答案 0 :(得分:1)
我假设您的网页位于不同的文档中。如果是这种情况,那么您可以在data-dom-cache
页面的true
元素上将data-role="page"
属性设置为profile
,以便当用户离开它时(到{ {1}}页面),它将保留在DOM中,并保存页面状态。
以下是此设置的文档:http://jquerymobile.com/demos/1.1.0-rc.1/docs/pages/page-cache.html
默认情况下,jQuery Mobile会在您离开它们后从DOM中删除页面(这仅适用于外部文件,而不是所有页面始终位于DOM中的多页模板)。