web-dev-qa-db-ja.com

iPhone Safariのフォームフィールドにオートフォーカスするにはどうすればよいですか?

IPhoneのSafariブラウザで特定のフォームフィールドに自動的にフォーカスを取得させようとしています。これはかなり簡単だと思いましたが、うまく機能させることができません。それで、これは実際には不可能ですか、それとも私は(私が疑う)非常に明白な何かを見逃していますか?これが私が使用しているコードです:

<!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>

フォーカスを2回取得しようとしていることがわかります。1回はjs経由で、もう1回は入力フィールドのHTML「aufofocus」属性経由です。トリックもしません。これはデスクトップブラウザでは機能しますが、iPhone 4でページを開くと、サイコロはありません。つまり、フォームフィールドの1つをクリックして手動でフォーカスを設定する必要があります。

最終的に私が欲しいのは、モバイルブラウザでウェブサイトを開き、入力を開始するために開いたキーボードを含むフォームフィールドに焦点を当てることです。

助けてくれてありがとう!

15
pixelphantom

このページ によると、使いやすさの理由から、オートフォーカスはiphone/ipadではサポートされていません。

15
Veera

入力要素にタイプを与えてみてください

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

フォールバックには使用できます

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