1

ページ A にバインドされた jQuery ページ スクロール イベントと、ページ サイズ変更イベントがあります。

クリックしてページ B に移動します。

次に戻るを押してページ A に戻ります。

サイズ変更イベントは引き続き機能しますが、スクロール イベントは機能しません。

他の誰かからの例はここにあります: http://nevue.net/a.htm . 数回スクロールすると、スクロール イベントで更新された一番下の数字が表示されます。数字をクリックするとグーグルに飛びます。次に押し戻します。iPhone Safari では、これは更新されなくなりました。

戻るボタンを押してイベントを再バインドしようとしました。次のコードはページ A に表示されます。

$(window).bind("pageshow", function(event) {
    if (event.originalEvent.persisted) {
        alert('just pressed back');
        $(window).bind("scroll", function() {
            alert('scrolling');
        });
    }
});

このコードは、ページに戻ったときに「ちょうど押し戻されました」というアラートをトリガーしますが、スクロール イベントはリバウンドしません。

誰か知っていますか:

  1. Safari がサイズ変更イベントを保持するのに、スクロール イベントを保持しないのはなぜですか?
  2. スクロールイベントを再バインドするには?
4

0 に答える 0