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

时间:2016-01-03 18:08:33

标签: javascript html angularjs

我有一个html输入字段,并希望专注于它无论发生什么。我知道如何使用JQuery实现它,但我只想嵌入它,如果我真的需要。我的代码示例不起作用。

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

HTML

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

AngularJS(在我的控制器内)

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

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

1 个答案:

答案 0 :(得分:2)

您可以使用以下指令保持元素集中:

&#13;
&#13;
angular.module('test', []).directive('stayFocused', function(){
  return {
    link: function($scope, $element){
      $element.on('blur', function(){
        $element[0].focus();
      });
    }
  };
});
&#13;
<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>
&#13;
&#13;
&#13;