2

ボタンクリックを使用して、ルートを次のページに変更しました。Angular JS はスクロール位置を保持し、ng-view の上部までスクロールしません。1. $anchorScroll の無効化が機能しない 2. ウィンドウ スクロールの使用が機能しない

$rootScope.on("$routeChangeSuccess", function(){
     window.scrollTo(0,90);
})

ただし、iPad で修正ヘッダーを保持するには、次のウィンドウ スクロールが機能します。

$(document).on('blur', 'input, textarea', function() {
                    setTimeout(function() {
                        window.scrollTo(document.body.scrollLeft,document.body.scrollTop);
                    }, 0);
                });

助言がありますか?angualar jsビューで保存されたスクロール位置をクリアするには?

4

3 に答える 3

6

あなたが望むのは、アンカースクロールを無効にするのではなく、有効にすることです。次のコードを使用して、目的を達成できます。

<div data-ng-view data-autoscroll="true"></div>

また:

<div data-ng-view data-autoscroll></div>

AngularJS docsで指摘されているように。

于 2014-08-12T16:51:51.033 に答える
2

@Rafael の回答に対するマイナーな更新。

Angular 1.3.14 以降、次のようにビューを切り替えるときに、より単純な構文を使用して上部への自動スクロールを有効にすることができますngView

<div ngView autoscroll></div>

Angular ドキュメント

于 2015-02-26T06:48:35.427 に答える