如何在输入字段上设置光标焦点



我想在显示表单(指令)后立即将光标焦点设置在输入字段上。我尝试将以下代码添加到我的链接函数中:

link: function (scope, element, attrs) {
    element('input[name=headline]').focus();
}

但它不起作用。我还尝试了以下变体:

element.find('input[name=headline]').focus();
element.querySelector('input[name=headline]').focus();

我在网上没有找到任何有用的信息。 md-autofocus似乎与我想要实现的目标无关。

选项 1

网页自动对焦

选项 2

尝试从角度玩ng-focus。

更新

我的坏,ng-focus,来自文档:

指定焦点事件的自定义行为。

所以ng-focus不是你需要使用的。 继续autofocus.

使用 ng-if 的最终解决方案

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

创建一个将为您应用焦点的指令。

myApp.directive('yourAutofocus', ['$timeout', function($timeout) {
  return {
    restrict: 'A',
    link : function($scope, $element) {
      $element[0].focus();
    }
  }
}]);

像这样尝试

ng-if="showMe" ng-focus="true && showMe" or ng-focus="focudMe=true; showMe=true"

最新更新