将默认焦点放在AngularJS中的元素上的最简单方法是什么?

时间:2013-09-20 15:38:35

标签: angularjs

我有一个加载在模态对话框中的模板,上面有一个输入文本,我想重点关注。最简单和最有效的方法是什么?

更新

部分在How to set focus on input field?

中回答

3 个答案:

答案 0 :(得分:19)

根据您需要支持的浏览器,您可以使用input autofocus attribute

请参阅plunker here

或者,如果这不是一个选项并且Mark已经提到过,您可以参考以下stackoverflow response

答案 1 :(得分:3)

这个怎么样?

<强> HTML

  <div ng-controller="ctrl as vm" ng-init="vm.focus();">
<form name="Form">
  <input type="text" id="input1">
  <input type="text" id="input2">
</form>

<强> JS

   angular.module('app', []).controller('ctrl', function() {
    var vm = this;

    vm.focus = function() {
      document.getElementById('input2').focus();
    }; 
  });

https://plnkr.co/edit/noLUjVjycpnezpvEIgw7?p=preview

答案 2 :(得分:0)

我发现最简单的解决方案是在$ timeout包装内调用焦点。

控制器:

$timeout(function () { $('#input1').focus(); });