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);
                });

有什么建议么?如何通过角度js视图清除存储的滚动位置?

4

3 回答 3

6

你想要的不是禁用锚滚动,而是启用它。您可以使用以下代码实现您想要的:

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

或者:

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

正如AngularJS 文档中所指出的那样。

于 2014-08-12T16:51:51.033 回答
2

@Rafael 的答案的小更新。

从 Angular 1.3.14 开始,您可以使用更简单的语法在切换视图时启用自动滚动到顶部ngView

<div ngView autoscroll></div>

角度文档

于 2015-02-26T06:48:35.427 回答
1

您是否尝试在 ng-view 元素上将 autoscroll 设置为 false ?

<div data-ng-view data-autoscroll="false"></div>
于 2014-05-07T16:15:16.777 回答