В Mobile Safari я не могу сфокусироваться на текстовом поле после установки периода задержки. Я прилагаю пример кода, демонстрирующего проблему. Если при нажатии кнопки вы запускаете .focus (), все работает должным образом. Если вы повесите фокус на обратный вызов, например на функцию setTimeout, то он откажет ТОЛЬКО в мобильном сафари. Во всех других браузерах есть задержка, затем происходит фокус.
Как ни странно, событие «focusin» запускается даже в мобильном сафари. Это (и ~ подобные ~ комментарии в SO) заставляют меня думать, что это ошибка мобильного сафари. Любые инструкции будут приняты.
Я тестировал в эмуляторе и на iPhone 3GS / 4 iOS4.
Пример HTML:
Autofocus tests
Show keyboard without user focus and select text:
~ Подобные ~ SO вопросы: