HTML DOMのfocus()メソッドとは?基本構文と使い方を実例付きで解説
HTML DOMのfocus()メソッドは、指定したHTML要素にフォーカスを設定するために使用されるメソッドです。ただし、すべてのHTML要素にフォーカスを適用できるわけではありません。たとえば、<p>タグのようにフォーカスを受け付けない要素も存在します。また、要素からフォーカスを解除したい場合は、blur()メソッドを使用します。
focus()メソッドの主な活用シーン
- ページ読み込み時やフォーム表示時に、最初の入力欄へ自動的にカーソルを合わせる
- バリデーションエラーが発生した際に、該当する入力フィールドへフォーカスを移動する
- モーダルウィンドウを開いたときに、特定のボタンや入力欄へフォーカスを設定する
構文
focus()メソッドの基本構文は以下のとおりです。
HTMLElementObject.focus()
サンプルコード
それでは、focus()メソッドの具体的な使用例を見てみましょう。
<!DOCTYPE html>
<html>
<head>
<style>
input[type=text]:focus, p:active {
color: blue;
font-size:35px;
background-color:lightpink;
border:2px solid blue;
}
input[type=text]{
color:black;
font-size:20px;
}
</style>
<script>
function enableFocus() {
document.getElementById("USR1").focus();
}
function disableFocus() {
document.getElementById("USR1").blur();
}
</script>
</head>
<body>
<h1>focus() method example</h1>
<label>USERNAME :<input id="USR1" type="text" size=5 maxlength=10></label>
<br><br>
<input type="button" onclick="enableFocus()" value="FOCUS">
<input type="button" onclick="disableFocus()" value="BLUR">
</body>
</html>
実行結果
上記のコードを実行すると、次のような画面が表示されます。

FOCUSボタンをクリックした場合:

BLURボタンをクリックした場合:

コードの解説
このサンプルでは、以下のような処理を行っています。
1. テキストボックスの作成
まず、id属性に「USR1」を持つテキストボックスを作成し、sizeプロパティを5、maxlengthプロパティを10に設定しています。
<label>USERNAME :<input id="USR1" type="text" size=5 maxlength=10></label>
2. CSSスタイルの定義
次に、テキストボックスがフォーカスされた(アクティブな)状態と、そうでない状態に対して、それぞれ異なるCSSスタイルを定義しています。
input[type=text]:focus, input[type=text]:active {
color: blue;
font-size:35px;
background-color:lightpink;
border:2px solid blue;
}
input[type=text]{
color:black;
font-size:20px;
}
3. ボタンの配置
さらに、「FOCUS」と「BLUR」の2つのボタンを作成し、ユーザーがクリックすると、それぞれenableFocus()メソッドとdisableFocus()メソッドが実行されるようにしています。
<input type="button" onclick="enableFocus()" value="FOCUS"> <input type="button" onclick="disableFocus()" value="BLUR">
4. JavaScriptによるフォーカス制御
enableFocus()メソッドでは、getElementById()メソッドを使って対象の入力要素を取得し、focus()メソッドを呼び出してテキストボックスにフォーカスを設定します。これにより、テキストボックスに:focusスタイルが適用され、見た目が変化します。
一方、disableFocus()メソッドでは、idが「USR1」の入力要素を取得し、blur()メソッドを呼び出すことでテキストボックスからフォーカスを解除します。その結果、通常のCSSスタイル(デフォルトのスタイル)に戻ります。
function enableFocus() {
document.getElementById("USR1").focus();
}
function disableFocus() {
document.getElementById("USR1").blur();
}
このように、focus()メソッドとblur()メソッドを組み合わせることで、JavaScriptから柔軟にフォーカスを制御できます。フォームのユーザビリティやアクセシビリティ向上のためにも、ぜひ活用してみてください。
-
HTML DOM getBoundingClientRect()メソッドの使い方を徹底解説
getBoundingClientRect()メソッドとはHTML DOMのgetBoundingClientRect()メソッドは、要素のサイズや位置をビューポート(表示領域)を基準に取得するためのメソッドです。戻り値はDOMRect型のオブジェクトで、以下の8つのプロパティを持っています。lefttoprightbottomxywidthheightなお、このバウンディングボックス(外接矩形)の位置は、ページのスクロール位置が変わるとそれに応じて変化する点に注意してください。構文getBoundingClientRect()メソッドの構文は以下の通りです。element.getBoundi
-
HTML DOMのhasAttributes()メソッドとは?構文・使い方・サンプルコードを解説
HTML DOMのhasAttributes()メソッドは、ある要素が属性(attribute)を1つでも持っているかどうかを判定するためのメソッドです。要素が属性を保持している場合はtrueを返し、1つも属性を持っていない場合はfalseを返します。また、このメソッドを要素ノード以外のノードに対して呼び出した場合、戻り値は常にfalseになるという特徴があります。 構文 hasAttributes()メソッドの基本構文は以下のとおりです。 node.hasAttributes() 引数は不要で、対象となるノードに対して直接呼び出すだけで、真偽値(Boolean)が返されます。 使用例 ここで