在angularjs的某个字段上设置条件焦点

irf*_*afi 3 angularjs

大家好,各位工程师,我看过很多问题,并且很好地提出了关于将注意力集中在某些输入字段上的建议,但是我没有找到任何满足我要求的东西,现在我的问题是我们是否有多个输入字段,而我们没有知道在哪里设置焦点,并且在某些条件下我想将焦点设置在控制器返回的某个字段上,是否有类似“ document.getElementbyId(“”)。focus“之类的东西,如带有” ng-model“的javascript一样,任何帮助将不胜感激,谢谢

m59*_*m59 5

当传入的表达式为true时,此伪指令将使元素获得焦点。

现场演示

用法:

<!-- set `$scope.foo` to a truthy value when this input should be focused -->
<input type="text" focus-when="foo">
<button ng-click="foo = true">Focus input.</button>
Run Code Online (Sandbox Code Playgroud)

指令:

.directive('focusWhen', function() {
  return {
    scope: {
      focusWhen: '='
    },
    link: function($scope, $element) {

      $scope.$watch('focusWhen', function(shouldFocus) {
        if (shouldFocus) {
          $element[0].focus();
        }
      });

    }
  };
})
Run Code Online (Sandbox Code Playgroud)