Как определить фокус на Angular 1 - PullRequest
1 голос
/ 01 апреля 2020

У меня многократный ввод текста в форме и в ng-focus я вызываю метод, скажем, GetFieldName (). Я angular. js, как я могу обнаружить этот метод, фокусируясь на первом поле или втором. Как я могу проверить, что с помощью метода getFieldName (), чтобы получить поле, которое имеет фокус на нем.

1 Ответ

2 голосов
/ 01 апреля 2020

Лучшее решение - сделать директиву angularJS для получения атрибутов или выполнить проверку https://docs.angularjs.org/guide/forms

Это решение с контроллером и $ event для получения атрибут name из элемента

var myApp = angular.module('myApp',[]);
myApp.controller('formCtrl', ['$scope', function($scope) {
  $scope.text = "sample text";
  $scope.getName = function(event){
   $scope.text = event.target.getAttribute('name');
  };
}]);
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>

<div  ng-app="myApp">
<form ng-controller="formCtrl">
{{text }}
<input type="text" name="text1" ng-focus="getName($event)">
<input type="text" name="text2" ng-focus="getName($event)">
<input type="text" name="text3" ng-focus="getName($event)">
<input type="text" name="text4" ng-focus="getName($event)">

</form>
</div>
...