Safari не позволяет приложению сосредоточиться на вводе, пока пользователь не коснется экрана - PullRequest
0 голосов
/ 15 мая 2019

У меня очень простая веб-страница с формой, содержащей 1-10 полей ввода.Я в основном использую jquery.Мне нужно сфокусироваться на первом поле ввода, как только вы откроете страницу.Я могу сделать это на большинстве браузеров и компьютеров, но когда я поднимаю приложение на IPAD, оно отказывается программно фокусироваться на чем-либо, если событие (ранее «onload») не пришло от конечного пользователя (как касание).событие).

Я пытался установить свойство «автофокус», и оно просто не работает.

Я пытался программно создать кнопку, а затем программно щелкнуть ее.Я поместил метод focus в событие click, и это не сработало.

Фокус работает, когда это результат ввода данных пользователем.

$ ('input'). First (). Focus ();

Это код, который я пытался заставить работать.Работает на всем, кроме IPAD.Если я связываю это действие с событием «touchstart», то я знаю, что оно определенно работает на IPAD, и его нельзя вызвать ни из одного события, которое принадлежит пользователю.Идея состоит в том, чтобы ввод был готов к тому, чтобы пользователь не нажимал на экран.

Мне все равно, открывается ли интерактивная клавиатура, поскольку я использую для ввода внешние сканеры.Мне просто нужно сфокусировать поле ввода, чтобы оно было готово к приему входных данных без необходимости касания пользователем экрана.

Похоже, что Apple реализовала эту «функцию», чтобы предотвратить случайное всплытие клавиатуры у конечного пользователя.

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