我使用按钮点击更改到下一页的路线。 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视图清除存储的滚动位置?
答案 0 :(得分:6)
你想要的不是禁用 anchorscroll,而是启用它。您可以使用以下代码实现所需目的:
<div data-ng-view data-autoscroll="true"></div>
或:
<div data-ng-view data-autoscroll></div>
如AngularJS docs中指出的那样。
答案 1 :(得分:2)
对@ Rafael的回复进行了小小的更新。
从Angular 1.3.14开始,您可以使用更简单的语法在使用ngView
切换视图时启用自动滚动到顶部:
<div ngView autoscroll></div>
答案 2 :(得分:1)
您是否尝试在ng-view元素上将autoscroll设置为false?
<div data-ng-view data-autoscroll="false"></div>