Итак, у меня есть следующая угловая директива для автофокусировки сначала input
на текущей странице моего приложения Ionic. Он отлично работает, когда первое поле не скрыто. Но, если он скрыт ng-hide
, логика не удалась. Поэтому нужно изменить селектор элементов, чтобы найти только для видимых элементов в моей директиве.Как вы видите первый видимый элемент с jqlite под AngularJS?
angular.module('myApp').directive('focusMe', function($timeout) {
return {
link: function(scope, element, attrs) {
$timeout(function() {
element.find('label')[0].focus();
}, 150);
}
};
});
Использование выше директив на form
элемента следующим образом,
<form name="signinForm" ng-submit="signinForm.$valid && doSignin(credentials)" novalidate focus-me>
Так как я должен изменить мой jQLite найти запрос просто искать видимый элемент? Поиск поиска ограничен именем тега в соответствии с документами.
В моем случае, его не вход, который нг Скрывать класса. У внешнего div есть это. Но это отвечает на вопрос. Благодарю. –
Несомненно @NiravGandhi. Аналогично можно использовать то же самое с внешним 'div' следующим образом:' element [0] .querySelector ('div.foo:not (.ng-hide)'). QuerySelector ('input'). Focus(); ' где я предполагаю, что ваш родитель 'div' имеет класс' foo'. :-) –