Jquery 动态更改导航栏
当用户更改设置时,我想更改主页上的导航栏。我有:Jquery 动态更改导航栏,jquery,jquery-mobile,markup,jquery-mobile-navbar,Jquery,Jquery Mobile,Markup,Jquery Mobile Navbar,当用户更改设置时,我想更改主页上的导航栏。我有: <section id="main" data-role="page"> <nav data-role="navbar"> <ul></ul> </nav> </section> 我用JavaScript填充无序列表,但它失去了css样式 问:当用户从“设置”页面返回并再次看到主页时,我使用什么事件来确保导航栏的样式正确 问:在用户按下“返回主页”按钮后,我应该
<section id="main" data-role="page">
<nav data-role="navbar">
<ul></ul>
</nav>
</section>
我用JavaScript填充无序列表,但它失去了css样式
问:当用户从“设置”页面返回并再次看到主页时,我使用什么事件来确保导航栏的样式正确
问:在用户按下“返回主页”按钮后,我应该触发什么事件来刷新主页
编辑:
实际上,该列表也在pageinit上填充。Q1。
如果在pagebeforecreate、pagecreate或pageinit期间填充导航栏,则无需设置样式。如果您在以后的活动中进行此操作,请使用以下方法:
$('#pageID').trigger('pagecreate');
这将触发整页重新排序,包括页脚和页眉。如果您只需要重新设置页面内容的样式,请使用以下方法:
$('#pageID').trigger('create');
在我的另一篇文章中了解更多信息:
问题2。
在这种情况下,您可以防止主页兑现,这将是
官方文件:
要防止页面兑现,请使用属性data dom cache=“false”:
<div data-role="page" id="dontCacheMe" data-dom-cache="false">
但不幸的是,若主页是要显示的第一个页面,或者至少是第一个HTML的一部分,那个么就不能阻止兑现
在这种情况下,清除具有生成内容的每个元素并再次触发pagecreate
编辑:
我忘了提。动态添加navbar元素是有缺陷的,它不能按预期工作。前一段时间,我创建了一个如何动态添加navbar元素的示例,
您可以在这里找到它:
在我的另一个中可以找到这一点和更多内容,或者可以在Gajotres中找到它,pagecreate触发器确实有点帮助,但li元素从未变成class=“ui-block-a”。它只是在链接中添加了class=“ui link”。我的答案中添加了新内容,请看一看,如果您不明白,请询问我。谢谢Gajotres!我们正处于程序的概念验证阶段,所以当遇到困难时(“动态添加navbar元素有问题,不能按预期工作”),我只需要备份一点,并简化一些事情。我想我要做的是使用按钮而不是导航栏,因为导航栏似乎有问题。但谁知道呢,在一个小时左右的时间里,我可能会问如何动态地设计按钮。不过我会先看另外两篇文章。呵呵,别担心,如果你还有更多问题,尽管问吧。