Подтвердить что ты не робот

Как вы можете автофокусироваться на поле формы в iPhone Safari?

Я пытаюсь, чтобы определенное поле формы автоматически фокусировалось в браузере Safari на iPhone. Я думал, что это будет довольно прямолинейно, но мне не удается заставить это работать. Итак, это действительно невозможно, или я пропущу что-то сверх-очевидное (что я подозреваю)? Вот код, который я использую:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
   function formfocus() {
      document.getElementById('element').focus();
   }
   window.onload = formfocus;
</script>
</head>
<body>

<form>
<input/>
<input id="element" autofocus/>
<input/>
</form>

</body>
</html>

Вы можете видеть, что я пытаюсь получить фокус дважды, один раз через js и один раз с помощью атрибута HTML "aufofocus" в поле ввода. И трюк тоже. Это работает на настольных браузерах, но когда я открываю страницу на своем iPhone 4, нет кубиков, то есть я должен установить фокус вручную, щелкнув одно из полей формы.

В конечном итоге я хотел бы открыть веб-сайт в мобильном браузере и сосредоточиться на поле формы, включая клавиатуру, открытую для начала ввода.

Спасибо за любую помощь!

4b9b3361

Ответ 1

Согласно этой странице, автофокусировка не поддерживается в iphone/ipad по причинам удобства использования.

Ответ 2

Попробуйте ввести элемент ввода типа

<input type="email" id="element" autofocus/>

и для возврата вы можете использовать

<script type="text/javascript">
    if (!("autofocus" in document.createElement("input"))) {
      document.getElementById("element").focus();
    }
</script>

Ответ 3

Попробуйте использовать .focus() внутри setTimeout().

setTimeout(function() {
jQuery('#element').focus();
}, 500);

Надеюсь, он будет работать на всех.