Angular auto focus
by tridip
HTML
<div ng-app="myApp" ng-controller="MyCtrl">
<input type="text" focus-on="focusMe"/>
</div>
JavaScript
var app = angular.module("myApp", []);
app.controller('MyCtrl', function($scope, focus) {
focus('focusMe');
});
app.directive('focusOn', function() {
return function(scope, elem, attr) {
scope.$on('focusOn', function(e, name) {
//alert(name+' '+attr.focusOn);
//alert(elem);
if(name === attr.focusOn) {
elem[0].focus();
}
});
};
});
app.factory('focus', function ($rootScope, $timeout) {
return function(name) {
//alert(name);
$timeout(function (){
$rootScope.$broadcast('focusOn', name);
});
}
});