2014-05-07 32 views
2

我使用按钮单击将路由更改为下一页。 Angular JS保留滚动位置,不滚动到ng-view的顶部。 1.禁用$ anchorScroll不起作用 2.使用滚动窗口不起作用Angular JS ng查看更改存储滚动位置

$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视图清除存储的滚动位置?

回答

1

你试过在你的ng-view元素上设置autoscroll为false吗?

<div data-ng-view data-autoscroll="false"></div> 
+0

是我做到了。但它不起作用。 – user2263197

+1

您不必禁用anchorscroll,但启用它。它默认是禁用的。 – Rafael

6

你想要的是不是禁用 anchorscroll,但启用它。你可以实现你想要使用的是什么下面的代码:

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

或:

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

AngularJS docs指出。

2

对@拉斐尔的回答稍作更新。

由于角1.3.14你可以用简单的语法与ngView切换视图时启用自动滚动到顶端:

<div ngView autoscroll></div> 

Angular Docs