web-dev-qa-db-ja.com

どの要素をロードに集中させるかを指定するpure-html属性はありますか

そして、ない場合、理由はありますか?

28
olamundo

これはHTML5の一部として提供されるため、以前のバージョンに含まれていないことは、おそらく見落としであるか、優先度を下げる他のオプションがある場合です。

興味がある場合、構文は次のようになります。

<input type="text" name="abc" value="" autofocus>

標準では、ページ上で1回だけ宣言する必要があります。

その間、国の状態では、onloadイベントのスクリプトでしか実際にそれを行うことができません。最も簡単な方法は、ページのデフォルト要素に一貫したIDを割り当て(「オートフォーカス」と呼びます)、常に次のように設定することです。

var a_focus = document.getElementById('autofocus');
if(a_focus) a_focus.focus();

お役に立てば幸いです。

31
John Cavan

TABINDEX = 0は機能していませんか?

編集:

すみません-私の答えを急いでください。 TABINDEX = 0は、ユーザーが「TAB」キーを押した場合にのみ機能します。申し訳ありません。以下は、負荷に適切にフォーカスを設定します。最新のIE、FF、Opera、Safari、Chromeでテスト済み。

<form>
     <input id="first" tabindex="1" /><br/>
     <input id="second" tabindex="2" />
   <script>
 document.getElementById("first").focus();
   </script>
</form>
6
Chuck

ありません。誰もが代わりにfocus()を使用することに慣れたことを除いて、本当に正当な理由はありません。 (残念ながら、ページ全体がロードされてすぐにフォーカスされない場合、focus()には欠点があります。)

Default-focusとdefault-submit-buttonの両方の指定がHTMLで利用できるようにしたいと思いますが、ブラウザーの人々は興味を持っていないようです。編集:ジョンが言ったように、これはis現在 HTML5ドラフト にありますが、まだ実装はなく、HTML5はまだ完成していません。わかります!

4
bobince

番号。

そして、おそらく正当な理由はありません。後から考えると、すべてが明白に思えます。

1
Noon Silk