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);