Ios 10 автофокусировка не фокусирующий вход

Когда я запускаю приложение на настольном компьютере или устройстве Android, фокус ввода работает нормально. Но он не работает в iOS 10 Safari. Я использую angularjs.

$timeout(function () {
  var input = $element.find('.my-input-box')[0];
  input.focus();
}, 500);

Ответ 1

Поскольку вы используете angularjs, вам обязательно нужно найти решение в angular.

Вы пытались использовать ngFocus.

Я предполагаю, что это, вероятно, будет выглядеть так:

html:

<input ng-focus="YourVariable">

И установите для параметра YourVariable значение True.

Ответ 2

Я нашел это https://github.com/angular/material/issues/10080

может быть, это полезно для вас.

Эта ссылка может указывать на проблему с событием/жестом.

Ответ 3

Не нужно искать элемент. Вместо этого вы можете добавить директиву.

yourApp.directive('autofocus', ['$timeout', function($timeout) {
  return {
    restrict: 'A',
    link : function($scope, $element) {
      $timeout(function() {
        $element[0].focus();
      });
    }
  }
}]);

и используйте как: -

<input autofocus type="text"/>

Вот рабочий пример