AngularJS 中的模糊事件后立即重新聚焦输入字段

Re-focus input field right after blur event in AngularJS

我有一个 html 输入框,我想专注于它 无论发生什么事 。我知道如何使用 JQuery 实现它,但我只想在确实需要时嵌入它。我的代码示例不起作用。

到目前为止我对代码的想法:

HTML

<input type="text" ng-blur="refocus()" autofocus>

AngularJS(在我的控制器内)

$scope.refocus = function($scope, $element) {
    $element.focus();
};

我希望你们有正确的灵感或更好的解决方案来解决这个问题:)

您可以使用以下指令使元素保持焦点:

angular.module('test', []).directive('stayFocused', function(){
  return {
    link: function($scope, $element){
      $element.on('blur', function(){
        $element[0].focus();
      });
    }
  };
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>


<div ng-app="test">
  First
  <input type="text" stay-focused="" autofocus>
  <br />
  Second
  <input type="text" stay-focused="" autofocus>
</div>