ホームページ > ウェブフロントエンド > jsチュートリアル > 「onKeyPress」、「onKeyUp」、および「onKeyDown」イベントの違いは何ですか?

「onKeyPress」、「onKeyUp」、および「onKeyDown」イベントの違いは何ですか?

DDD
リリース: 2024-12-13 09:08:13
オリジナル
368 人が閲覧しました

What's the Difference Between `onKeyPress`, `onKeyUp`, and `onKeyDown` Events?

onKeyPress、onKeyUp、onKeyDown の違いを理解する

イベント ハンドラーの領域では、onKeyPress、onKeyUp、および onKeyDown は異なる役割を果たします。ユーザー入力をキャプチャする際に。これらのイベントは類似点を共有している可能性がありますが、キーのインタラクションに関する独自の視点を提供します。

onKeyPress と onKeyDown および onKeyUp の区別

調査で説明されているように、onKeyDown と onKeyUp は簡単です。イベント。 OnKeyDown はユーザーが任意のキーを押したときにトリガーされ、onKeyUp はキーが放されたときにトリガーされます。ただし、OnKeyPress は別の立場にあります。

キーのリリースのみをキャプチャする onKeyUp やキーの押下のみに焦点を当てる onKeyDown とは異なり、onKeyPress は両方のアクションを組み合わせたものです。それは、onKeyDown で始まり onKeyUp で終わるキーストローク サイクル全体を網羅しているかのようです。これは、キーが押されたり放されたりするたびに onKeyPress がトリガーされることを意味します。

混乱への対処

onKeyPress と onKeyUp の関係を明確にするために、すべてのキーストロークには必然的に関連することを覚えておいてください。プレスとリリースの両方。したがって、最初にキーを押す (onKeyDown) ことなくキーを放す (onKeyUp) ことは不可能です。これにより、onKeyPress はほとんどのシナリオで冗長なイベントになります。

ブラウザの互換性に関する注意

keyPress は、最新のブラウザでは非推奨のイベントであることに注意してください。最新かつ最も包括的なイベント キャプチャについては、代わりに keyDown の使用を検討してください。

説明例

理解を確実にするために、イベント タイプをキャプチャしてログに記録するこのスニペットを検討してください。 :

window.addEventListener("keyup", log);
window.addEventListener("keypress", log);
window.addEventListener("keydown", log);

function log(event){
  console.log( event.type );
}
ログイン後にコピー

このコードを実行すると、一連のイベントが発生するのがわかります。

  1. keydown
  2. keypress
  3. keyup

これは、keydown が keypress と keyup に先行する、キーストローク イベントの階層的な性質を示しています。主要な対話サイクルの最終ステップとして。

以上が「onKeyPress」、「onKeyUp」、および「onKeyDown」イベントの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート