現在、単純な jQuery Mobile アプリケーションを構築しています。現在、ページのロードの前後に何かをしたい場合は、次の呼び出しフックを使用します。
ページが表示されている場合 (例: データ/テンプレートを挿入する場合):
$(window).on('pageshow', function() {
if ($('#pageId').length > 0) {
doStuff();
}
});
ユーザーが新しいページに移動した場合 (そしていくつかの値を保存したい場合):
$(document).delegate('#pageId #buttonNext', 'click', function() {
doStuff();
});
2 つの質問があります。
これを行うためのより良い、よりエレガントな方法はありますか (そして、あると確信しています)。モバイル デバイス (特に iOS Safari) では、サファリが閉じられた後にアプリが再度開かれるたびに、pageshow
メソッドが再度起動されるため、たとえば、既に完全に構築されたページに再入力されます。その動作を防ぐ方法はありますか?