【问题标题】:angularjs focus on element on mobile devicesangularjs 专注于移动设备上的元素
【发布时间】:2014-07-21 16:00:28
【问题描述】:

我正在使用 angularjs 开发一个单页应用程序,并希望它可以跨浏览器工作。但是,当我在我的 nexus 5 手机上对其进行测试时,当我尝试在 放大的屏幕上浏览不同的功能时出现问题,中心始终位于 整个页面的中心 有时会给用户一种他们在空白页面上的错觉(因为活动元素位于页面的左上角) 发生重定向时,是否有一种简单的方法可以将注意力集中在页面的特定元素上?谢谢。

【问题讨论】:

  • 如何重定向页面?使用 angular-ui-router 或 ngRoute?
  • 我只是使用$location.url() 来改变页面@V31

标签: angularjs mobile cross-browser


【解决方案1】:

您可以利用 $route 的 $routeChangeSuccess 事件,并且可以利用 $anchorscroll 服务。

代码片段:

$scope.$on('$routeChangeSuccess', function (scope, next, current) {
    $location.hash('<ur top div id>');
    $anchorScroll();
}

您需要为 anchorScroll 注入相同的依赖项。

ngRoute Documentation for routeChangeSuccess event

【讨论】: