1. ホーム
  2. javascript

[解決済み] どのDOM要素にフォーカスがあるかを調べるには?

2022-03-16 04:46:12

質問

JavaScriptで、現在どの要素がフォーカスされているかを調べたいのですが、どうすればいいですか?DOMを調べてみましたが、まだ必要なものが見つかっていません。これを行う方法はありますか、そしてどのように?

探していた理由

矢印のようなキーを作りたいのと enter 入力要素のテーブルをナビゲートします。Tabは動作しますが、enterとarrowsはデフォルトでは動作しないようです。キー操作の部分は設定できたのですが、あとはイベント処理関数でフォーカスを移動させる方法を考えなければなりません。

解決方法は?

使用方法 document.activeElement すべての主要なブラウザでサポートされています。

以前は、どのフォームフィールドにフォーカスがあるかを調べようとしても、できませんでした。古いブラウザでの検出をエミュレートするには、すべてのフィールドに "focus" イベントハンドラを追加して、最後にフォーカスされたフィールドを変数に記録します。最後にフォーカスされたフィールドのblurイベントが発生したら、その変数をクリアするために、"blur"ハンドラを追加してください。

を削除する必要がある場合は activeElement を使用すると、ブラーを使用することができます。 document.activeElement.blur() . を変更します。 activeElement から body .

関連リンク