Каков самый простой способ сосредоточить внимание на элементе в AngularJS по умолчанию?
У меня есть шаблон, который загружается в модальный диалог, на нем есть один входной текст, на который я хотел бы обратить внимание. Что является самым простым и Angular способом сделать это?
Обновление
Это частично описано в Как установить фокус на поле ввода?
Ответы
Ответ 1
В зависимости от браузеров (ов), которые необходимо поддерживать, вы можете использовать входной атрибут автофокусировки.
Смотрите plunker здесь.
Или, если это не вариант и упомянутый Mark, вы можете обратиться к следующему fooobar.com/questions/12508/....
Ответ 2
Как насчет этого?
HTML
<div ng-controller="ctrl as vm" ng-init="vm.focus();">
<form name="Form">
<input type="text" id="input1">
<input type="text" id="input2">
</form>
JS
angular.module('app', []).controller('ctrl', function() {
var vm = this;
vm.focus = function() {
document.getElementById('input2').focus();
};
});
https://plnkr.co/edit/noLUjVjycpnezpvEIgw7?p=preview
Ответ 3
Самое простое решение, которое я нашел, - вызвать фокус внутри обтекания timeout.
Контроллер:
$timeout(function () { $('#input1').focus(); });