angularjs фокус ввода текста работает на рабочем столе, не работает для iPad - PullRequest
2 голосов
/ 14 февраля 2020

У меня есть окно ввода поиска в моем приложении. Всякий раз, когда я нажму кнопку, откроется поисковый ввод. Но это не автофокусировка.

Пожалуйста, посмотрите на мой код,

$scope.goSearch = function () {
			$scope.$broadcast("focusTextInput");
}
      
      
 
<a class="nav-link-img search-icon" ui-sref="search" ng-click="goSearch();"><img src="assets/images/searchIconDefault.svg"/></a>

<input type="search" autofocus class="form-control search-field" placeholder="Search Card" ng-model="search"  focus-on="focusTextInput">

 app.directive("focusOn", function ($timeout) {
    return {
      restrict: "A",
      link: function (scope, element, attrs) {
        scope.$on(attrs.focusOn, function (e) {
          $timeout((function () {
            element[0].focus();
          }), 10);
        });
      }
    };
  });

Это код, который я использую.

  • ) Единственная проблема в том, что мигающий курсор фокусируется на рабочем столе, ноутбуке, но не работает в ipad и ipad pro.

Подскажите, пожалуйста, как можно я делаю это?

1 Ответ

0 голосов
/ 14 февраля 2020

Пожалуйста, попробуйте ниже пример

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.goSearch = function() {
    document.getElementById("search").focus();
  };
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>



<div ng-app="myApp" ng-controller="myCtrl">

<a class="nav-link-img search-icon" ui-sref="search" ng-click="goSearch();">&#128269;</a>

<input type="search" autofocus id="search" class="form-control search-field" placeholder="Search Card" ng-model="search"  focus-on="focusTextInput">

</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...