编辑:为了澄清我确实希望#capture-photo按钮变为活动状态,但是当我以编程方式导航到另一个页面时,我想重置它。
我目前正在使用jQuery作为框架构建Phonegap / Cordova应用程序。大多数都很好 - 除了一种情况。
我有一个固定的页脚(效果很好),带有导航栏和三个按钮。
两个按钮转到常规页面没有ajax,它们工作得很好。
一个按钮挂钩到相机界面并触发(即)iPhone上的相机。如果我取消,我会回到屏幕,但相机的按钮现在具有活动状态和样式。
我在失败时触发changePage并且页面被激活但它不会改变按钮状态!?我试图手动删除类没有成功!?有些东西似乎会延迟为活动状态添加类,直到或某事。
我做错了吗?不应该在changePage()中找到并触发它的锚点吗?
在相册页面中,页脚如下所示:
<div class="footer" data-role="footer" data-position="fixed" data-id="footer-tab">
<div data-role="navbar" class="nav-glyphish">
<ul>
<li><a id="welcome" href="#welcome"></a></li>
<li><a id="capture-photo"></a></li>
<li><a id="show-album" href="#album" class="ui-btn-active ui-state-persist"></a></li>
</ul>
</div>
</div>
再次 - #capture-photo按钮没有相应的页面,但是当我点击它时会被激活,如果我取消了相机 - jqm捕获一个changePage并转到#show-album,但是#capture -photo按钮仍标记为活动状态。
P.S我在两个页面上都有一个相同的页脚(data-role ='footer'),除了它们各自的锚具有ui-btn-active和ui-state-persist集。我觉得这个重复的代码有点不舒服,但它似乎是解决持久性页眉/页脚的唯一方法?
答案 0 :(得分:0)
不幸的是,我以一种丑陋的方式解决了这个问题。在运行$ .mobile.changePage('#album')之前,我手动触发所有固定页脚导航栏上的'vclick'事件。丑陋,但现在它有效......:o
// HATE DOING THIS! BUT JQM IS NOT WORKING WITH ME ON THIS.
$('#welcome #show-album').trigger('vclick')
$('#album #show-album').trigger('vclick')