0

iScroller を使用して製品のリストを表示するアプリを 1 つ開発していますが、

製品のリストをロードするために pageshow イベントを使用しましたが、状況によってはpageinit().

問題は、製品をクリックすると製品詳細ページが表示されますが、製品詳細ページで [戻る] ボタンをクリックするpageshow()と、製品リスト ページの が再度呼び出されることです。

ユーザーが詳細ページの戻るボタンをクリックしたときに実行したくありません。それpageshow()以外の場合は、この戻るボタンを他のpageshow()場所から実行したいと思います。

このシナリオの解決方法を教えてください。

4

1 に答える 1

1

以下の例では、変数を使用して、ページを表示するために戻るボタンがクリックされたかどうかを確認し#productsます。ユーザーが戻るボタンを使用し#productsて前後に移動すると、表示されたことが警告されるため、データの再読み込みを停止できます。#details#products

ただし、ユーザーが他のページに移動してページに戻った場合、そのページ#productsは表示されていないため、正常に機能します。

デモ

var viewed = false;

$(document).on('click', '.backbtn', function () {
 viewed = true;
});

$(document).on('pagebeforeshow', '#products', function () {
 if (viewed) {
  alert('page has been viewed');
  viewed = false;
 }
 else {
  alert('first visit!');
 }
});
于 2013-05-08T12:36:21.777 に答える