ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript イベント学習 第 10 章 置き換え可能なイベント ペア_JavaScript スキル

JavaScript イベント学習 第 10 章 置き換え可能なイベント ペア_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 18:34:45851ブラウズ
テストの制限
この章では、どのイベントを使用してマウス イベントをシミュレートできるかを調べる予定です。この一連のテストにはスクリーン リーダーが含まれていないことに注意してください。すべての基準を満たすことができなかったため、テストにも制限がありました。このテストは、グラフィカル ブラウザでマウスを使用しないユーザーのみを対象としています。
これらのテストは一部のモバイル デバイスでも使用できると思います。条件が不十分なためテストできません。多くの場合、モバイル デバイスのパフォーマンスは常に満足のいくものではありません。
概要
残念ながら、マウス以外のイベントとマウス以外のイベントには多くの違いがあるため、マウス イベントと非マウス イベントに対して厳密な 1 対 1 の解決策を作成することはできません。したがって、以下のアドバイスはほとんどの状況に当てはまりますが、すべてではありません。
以下は私のテスト結果です:
1. マウスオーバー:フォーカス
2. マウスアウト: ブラー
3. dblclick: 不明
5. マウスダウン:キーダウン (最も悪い選択肢)
6. マウスアップ:キーアップ (最も悪い選択肢)
7. マウス移動: マウスなしでは不可能

ページが完全なサポートを必要とする場合ユーザーの場合、イベント ハンドラーを適用できる要素を選択することはほとんどありません。これは実際には、イベント ハンドラーがリンクとフォームでのみ役に立っていた Netscape 3 の時代への逆戻りです。
さらなる研究がまだ必要です。
準備
ほとんどのブラウザでは、ユーザーはタブでページ全体を移動できます。これを行うと、フォーカスは次のリンクまたはフォームに移動します。これは IE と Mozilla の両方で機能します。 Safari では、F1 キーを押してキーボード ショートカットをアクティブにする必要があります。
Opera ユーザーは別のシステムから来ています。リンクにジャンプするには、Ctrl 矢印キーを押す必要があります。組み合わせは違いますが、私はこれを「タビング」と呼びます。
例: 従来のマウスオーバー
どうやって行うのですか?まず最も重要なことは、マウスオーバーとマウスアウトの 2 つのイベントを追加することです:

コードをコピーします コードは次のとおりです:
imgs[i].onmouseover = imgs[i].onfocus = MouseGoesOver;



これで、ユーザーのマウスが通過するかタブが通過すると、関数が実行されます。
ただし、いくつかのイベントを追加するだけでは十分ではありません。私のオリジナルのスタジオでは、画像上でマウスオーバーとマウスアウトを直接設定しています。残念ながら、画像をタブで移動することはほとんど不可能です。タブはリンクとフォームでのみ役立ちます。したがって、image: link の親ノードにイベントを追加する必要があります。
この単純な例は再登録によって変更されませんが、より複雑なスクリプトでは、たとえば div へのアクセス アクティビティを定義できない場合があります。
完璧な使いやすさを確保するには、1998 年当時と同じように、リンクとフォームのイベントを定義するだけです。インターネット上のほとんどのイベントは依然としてリンク上で定義されていますが、テキスト編集などの複雑なスクリプトは、マウス以外のユーザーはクリックする必要があるため利用できません。

翻訳アドレス: http://www.quirksmode.org/js/events_pairs.html

著者: Beiyu (tw:@rehawk)
記事ソース: beiyu.cnblogs.com

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。