web-dev-qa-db-ja.com

Mozilla Firefoxでautofocus = "autofocus"が機能しないのはなぜですか?

<INPUT TYPE=TEXT NAME="Gw" MAXLENGTH="225" size="42" autofocus="autofocus">

Google Chromeでこれを試すと、うまくいきます。 <script>のないフォームを強調したいだけです。

なぜ機能しないのですか?

4
LanceBaynes

Firefox 4で動作するはずです。しかし、Firefoxの古いバージョンを使用している場合、autofocus属性がHTML5に新しく、Firefox 4で幅広いサポートを得ただけなので動作しません。

2
John Conde

autofocusをサポートしないブラウザーのJavaScriptフォールバックで使用するのが賢明です。 Mark Pilgrimの HTML5フォームに飛び込む から:

あれは何でしょう?これらの派手なHTML5ブラウザだけでなく、すべてのブラウザでオートフォーカスフィールドを機能させたいとおっしゃっていますか?現在のオートフォーカススクリプトを保持できます。 2つの小さな変更を加えるだけです。

  1. Automark属性をHTMLマークアップに追加します
  2. ブラウザがオートフォーカス属性をサポートしているかどうかを検出し、ブラウザがネイティブでオートフォーカスをサポートしていない場合にのみ、独自のオートフォーカススクリプトを実行します。
<form name="f">
  <input id="q" type="text" name="Gw" maxlength="225" size="42" autofocus>
  <script>
    if (!("autofocus" in document.createElement("input"))) {
      document.getElementById("q").focus();
    }
  </script>
  <input type="submit" value="Go">
</form>

ライブデモはこちら

7
Nick

新しいコードを試します。実際、Firefox 34.xxバージョンを使用していますが、まだオートフォーカスを使用できません。上記のコードを試してみましたが、うまくいきませんでした。その後、独自のコードを作成しようとしました。私はjqueryライブラリを使用しています。あなたも働いていない場合は、次のコードを試してください:HTML

<input type="text" name="searchMenu" placeholder="blaa.. blaaa..." id="searchMenu" autofocus focus>


$(document).ready(function(e) {
    $("#searchMenu").focus();
});
1