ホームページ ウェブフロントエンド jsチュートリアル JS を使用してフォーカス要素 code_javascript スキルを取得する

JS を使用してフォーカス要素 code_javascript スキルを取得する

May 16, 2016 pm 04:54 PM
focus 集中

優れたユーザー エクスペリエンスを実現するには、Web サイト/Web アプリのアクセシビリティ、使いやすさ、機能が非常に重要です。
ユーザーは、私たちのウェブサイトがうまく運営されているときやエクスペリエンスが素晴らしいときは気づきませんが、私たちの仕事がうまくいかなかったときは間違いなくそれを感じます。 アプリケーションの使いやすさとアクセシビリティの重要な要素は入力フォーカスの処理ですが、開発者が見落としがちな要素です。

入力フォーカスの不適切な処理の例: リンクをクリックした後にウィンドウを開きますが、ウィンドウ内のどの要素にもカーソルをフォーカスしていません。 さらに悪いことに、モーダル ウィンドウ内の要素にフォーカスしても、閉じた後にフォーカスが戻りません。 理想的には、リンクがトリガーされたときに参照を保存し、新しいウィンドウにカーソルをフォーカスし、ウィンドウが閉じられたときにカーソルを元に戻します。

しかし、入力カーソルが現在どの要素上にあるかわからない場合はどうすればよいでしょうか? document.activeElement プロパティを使用して、現在のドキュメント内のフォーカスされた要素を取得できます。

JavaScript

document.activeElement を使用すると、現在選択されている要素を簡単に見つけることができます:

コードをコピーします コードは次のとおりです。

var focusElement = document.activeElement;

/* 例:
vartriggerElement = document.activeElement;
myModal = new MyModal({
onOpen : function () {
this.container.focus();
},
onClose: function() {
triggerElement.focus();
}; 🎜> */


この属性は、フォーム フィールドや <a> タグ リンクなどの通常の入力要素だけでなく、tabIndex 属性が設定されている要素でも使用できます。

document.activeElement の気に入っている点は、どの要素にフォーカスがあるかを追跡するためにイベント リスナーやデリゲート リスナーを使用する必要がないことです。このプロパティはいつでも取得できます。 もちろん、そのような機能を使用する前に、クロスブラウザーや競合状態にバグがないかどうか、広範なテストを行う必要があります。 全体として、とても満足していますし、とても信頼できると思います!
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

例JSONファイルの例 例JSONファイルの例 Mar 03, 2025 am 12:35 AM

例JSONファイルの例

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

8見事なjQueryページレイアウトプラグイン

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

独自のAjax Webアプリケーションを構築します

&#x27; this&#x27; JavaScriptで? &#x27; this&#x27; JavaScriptで? Mar 04, 2025 am 01:15 AM

&#x27; this&#x27; JavaScriptで?

ソースビューアーでjQueryの知識を向上させます ソースビューアーでjQueryの知識を向上させます Mar 05, 2025 am 12:54 AM

ソースビューアーでjQueryの知識を向上させます

モバイル開発用のモバイルチートシート10個 モバイル開発用のモバイルチートシート10個 Mar 05, 2025 am 12:43 AM

モバイル開発用のモバイルチートシート10個

See all articles