編集:明確にするために、 #capture-photo ボタンをアクティブにしたいのですが、プログラムで別のページに移動したときにリセットしたいです。
現在、jQuery をフレームワークとして使用して Phonegap/Cordova アプリを構築しています。1 つのシナリオを除いて、ほとんどは順調です。
ナビゲーションバーと 3 つのボタンを備えた固定フッター (うまく機能します) があります。
2 つのボタンは ajax なしで通常のページに移動し、うまく機能します。
1 つのボタンが Camera インターフェイスに接続され、(つまり) 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が設定されています。この重複したコードに少し違和感を覚えますが、永続化されたヘッダー/フッターを解決する唯一の方法だと思いますか?