0

编辑:为了澄清我确实希望#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 按钮仍被标记为活动。

PS我在两个页面上确实有一个相同的页脚(data-role ='footer'),除了它们各自的锚点设置了ui-btn-active和ui-state-persist。我对这个重复的代码感到有点不舒服,但它似乎是解决持久页眉/页脚的唯一方法?

4

1 回答 1

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')
于 2012-07-30T19:05:01.923 回答