我想在显示表单(指令)后立即将光标焦点设置在输入字段上。我尝试将以下代码添加到我的链接功能中:
link: function (scope, element, attrs) {
element('input[name=headline]').focus();
}
但它不起作用。我还尝试了以下变体:
element.find('input[name=headline]').focus();
element.querySelector('input[name=headline]').focus();
我在网上找不到任何有用的信息。 md-autofocus
似乎与我想要实现的目标毫无关系。
答案 0 :(得分:2)
HTML autofocus
尝试使用角度来看ng-focus。
我的不好,ng-focus
来自doc:
指定焦点事件的自定义行为。
因此,ng-focus不是您需要使用的。继续autofocus
。
https://plnkr.co/edit/sb29aGHGtdFQ7fiLdbtN?p=preview
创建一个将为您应用焦点的指令。
myApp.directive('yourAutofocus', ['$timeout', function($timeout) {
return {
restrict: 'A',
link : function($scope, $element) {
$element[0].focus();
}
}
}]);
答案 1 :(得分:1)
试试这个
ng-if="showMe" ng-focus="true && showMe" or ng-focus="focudMe=true; showMe=true"