[フレーム]
Last Updated: February 25, 2016
·
30.15K
· belaezsias

AngularJS: auto focus into input field when ng-show event is triggered

I came across the problem of setting the focus on input field when the field was shown conditionally by ng-show directive of AngularJS. I came up with following custom directive to solve the problem:

app.directive('showFocus', function($timeout) {
 return function(scope, element, attrs) {
 scope.$watch(attrs.showFocus, 
 function (newValue) { 
 $timeout(function() {
 newValue && element.focus();
 });
 },true);
 }; 
});

Usage:

<input type="text" ng-show="customcondition" show-focus="customcondition">

2 Responses
Add your response

I can't get this to work. Plunkr http://plnkr.co/edit/SbOlCQMd4uiYCqz5u098?p=preview

over 1 year ago ·

Replacing the element with element[0] makes it working.

over 1 year ago ·

AltStyle によって変換されたページ (->オリジナル) /