Q1。
如果您在 pagebeforecreate、pagecreate 或 pageinit 期间填充导航栏,则不需要对其进行样式设置。如果您在以后的活动中这样做,那么请这样做:
$('#pageID').trigger('pagecreate');
这将触发整页重新设置样式,包括页脚和页眉。如果您只需要重新设置页面内容的样式,请使用以下命令:
$('#pageID').trigger('create');
在我的另一篇文章中了解更多信息:https ://stackoverflow.com/a/14550417/1848600
Q2。
在这种情况下,您可以防止主页兑现,就是这样。
官方文档:http: //jquerymobile.com/demos/1.2.0/docs/pages/page-cache.html
要防止页面兑现,请使用属性data-dom-cache="false":
<div data-role="page" id="dontCacheMe" data-dom-cache="false">
但不幸的是,如果主页是要显示的第一页,或者至少是第一个 HTML 的一部分,则无法防止兑现。
在这种情况下,清除每个具有生成内容的元素并再次触发 pagecreate。
编辑 :
我忘了提。导航栏元素的动态添加是错误的,它没有按预期工作。前段时间我创建了一个如何动态添加导航栏元素的示例,您可以在这里找到它:http: //jsfiddle.net/Gajotres/V6nHp/
这个和更多可以在我的其他文章中找到,或者可以在这里找到。