benjamincharity
7/13/2015 - 6:09 PM

Focus an input.

Focus an input.

<input focus-on="yearExp">
angular.module('common')
.factory('Focus', function(
    $rootScope, $timeout
) {
    'use strict';

    return function(name) {
        console.log('in focus factory: ', name);

        $timeout(function (){

            $rootScope.$broadcast('focusOn', name);

        });

    };

});
angular.module('common')
.directive('focusOn', function() {
    'use strict';

    return function(scope, elem, attr) {

        scope.$on('focusOn', function(e, name) {

            if (name === attr.focusOn) {
                elem[0].focus();
            }

        });

    };

});
angular.module('common')
.controller('FooCtrl', function(Focus) {
    Focus('yearExp');
});