モバイル プラットフォームの検索結果ページに無限スクロールを実装する必要があります。単一ページ アプリケーション用に jQuery Mobile で Knockout.js と PhoneGap を使用しています。
問題のビューには、返されるアイテムの数にバインドされた div があります。無限スクロールを実装できるように、ノックアウトを使用してこの div のスクロール イベントにバインドしたいと考えています。ただし、これに関する問題は、jQuery モバイルがスクロールをハイジャックしているように見えるため、このイベントがドキュメント レベルでのみトリガーされるようになっていることです (スクロールを必要とする div ではなく、アプリ全体をスクロールする必要があります)。私が持っているハックな解決策は、検索結果ビュー モデルから無限スクロール メソッドを呼び出すコールバックをウィンドウに追加することです。できればこれは避けたいです。
別の開発者が思いついた解決策の 1 つは、サイトを再構築することです。現在、ユニバーサル フッターがあります (実際のものではありません)。
<div class="navigation" data-role="footer" data-position="fixed" data-tap-toggle="false">
<!-- Div Contents -->
</div>
これは、jquery prepend を使用して各ページに追加されます。これを削除してメインの index.html ページに添付するだけでは、問題は解決されないように見えましたが、修正についてはあまり詳しく説明していません。
jQuery/PhoneGap がスクロールをハイジャックして、ライブラリ ファイルを変更せずにページ全体に適用するのを止めたいと思います。これに対する良い解決策はありますか、それともハッキングの試みが最善の選択肢ですか? その解決策を採用する場合、ユーザーが別の「ビュー」に移動したときにイベント リスナーを削除するにはどうすればよいでしょうか。