Установить фокус текстового поля в мобильном сафари

Привет, мне было интересно, как установить фокус на текстовое поле в Mobile Safari.

Я пробовал document.myForm.myTextArea.focus(), который работает в обычном Safari, но, похоже, он не работает в Mobile Safari.

Чтобы уточнить, я хочу установить фокус на текстовое поле, как только пользователь загрузит страницу, и появится всплывающая клавиатура iPhone.


person Morgan    schedule 07.03.2010    source источник


Ответы (3)


Только что нашел этот предыдущий пост, в котором говорится, что это ошибка в webkit. Извините за то, что не провел более тщательного поиска.

http://discussion.forum.nokia.com/forum/showthread.php?t=127724

person Morgan    schedule 08.03.2010
comment
Http / 1.1 служба недоступна - person Can Aksoy; 21.05.2015

Я нашел отчет об ошибке в проекте iUI, связанный с этим.

Кажется, что вызов focus() не будет работать, если он вызван из события onload или если он вызван через таймер.

http://code.google.com/p/iui/issues/detail?id=129

Обновление: Хотя у меня нет источника для этого, мне сказали (люди, которые пробовали это), что в iPhone OS 4 проблема с focus() и onload должна быть исправлена.

person cdmckay    schedule 31.05.2010
comment
Кажется, что это не так в iOS 4 ... Могут ли другие подтвердить? - person Chris Lloyd; 30.06.2010
comment
Да, проблема сохраняется в iOS 4. - person gregsabo; 16.07.2010
comment
Проблема все еще существует в iOS 4.3.2 - person Klaus; 22.09.2011
comment
Некоторые фреймворки, например SproutCore, используйте цикл выполнения на основе setTimeout, в котором focus () не работает на iOS. - person sandstrom; 28.03.2012

Ничего общего с таймером, focus () вообще не работает ... я делаю свое через функцию AJAX. Думаю, моему веб-приложению придется пострадать в мобильном сафари.

Кстати, это также влияет на устройства HP webOS и любые другие устройства, использующие мобильное сафари.

person Dante    schedule 01.06.2011