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