focus me
by Khajan Singh
HTML
<script src="https://code.jquery.com/jquery-1.6.4.min.js"></script>
<div ng-app="fd" ng-controller="control as vm">
<input type="text" focus-me="vm.haveFocus">
<p>control focus: {{vm.haveFocus}}</p>
<button ng-click="vm.foci($event)">
focus
</button>
</div>
JavaScript
var fd = angular.module("fd", []);
var control = function($scope, $timeout){
var vm = this;
vm.haveFocus = true;
vm.foci = function(event){
event.preventDefault();
event.stopPropagation();
$timeout(function(){
$('input').focus();
});
}
}
control.$inject = ["$scope", "$timeout"];
var focusMe = function ($timeout) {
return {
scope: {
value: '=focusMe'
},
link: function (scope, element, attrs) {
scope.$watch('value', function (value) {
if (value === true) {
console.log(element);
//element[0].focus();
//$(element).trigger("click");
scope.value = false;
}
});
}
};
};
fd.controller("control", control);
fd.directive("focusMe", focusMe);