Backbone.js と jQuery モバイルを実行するモバイル アプリケーションがあります。私は Backbone.js を持っているので、パフォーマンス上の理由から、すべての JQM ルーティングとトランジションを無効にしました。スクロール位置の保存が JQM で利用可能な機能であることは理解していますが、それを利用することはできません (私の知る限り)。
アイテムのリストが長くなる可能性があるリスト ビューがあります。ユーザーがモバイル デバイスでいずれかをタップすると、現在のスクロール位置が保存され、新しいビューがレンダリングされます。ユーザーが「戻る」ボタンをタップすると、履歴が 1 つ戻ります。
clickLink: ->
window.lastScroll = $(window).scrollTop()
render: ->
...
if window.lastScroll
$.mobile.silentScroll window.lastScroll
window.lastScroll = undefined
これはデスクトップ Safari では思いどおりに動作しますが、iOS Safari (シミュレーターと実際の両方) で使用しようとすると、固定フッター ナビゲーション バーに問題が発生します。
ユーザーがタップして戻ると、リストビューは意図したとおりに下にスクロールされますが、フッター ナビゲーション バーをタップすると、その下をタップしたかのように、その下にあるリスト項目が代わりにアクティブになります。ユーザーがナビゲーション バーをタップする前に少しスクロールすると、すべて正常に動作します。
誰にもアイデアはありますか?おそらく、この問題をすべて回避するより良いアプローチがあるでしょう。
助けてくれてありがとう。