angular.module('focaDirectivas') .directive('focaFocus', ['$timeout', '$parse', function($timeout, $parse) { var checkDirectivePrerequisites = function (attrs) { if (!attrs.focaFocus && attrs.focaFocus != "") { throw "focaFocus missing attribute to evaluate"; } } return { restrict: "A", link: function (scope, element, attrs, ctrls) { checkDirectivePrerequisites(attrs); scope.$watch(attrs.focaFocus, function (currentValue, lastValue) { if(currentValue == true) { $timeout(function () { element.focus(); }); } }); } }; }]);