JavaScript でキーボード入力イベントを検出する

Shraddha Paghdar 2024年2月15日
JavaScript でキーボード入力イベントを検出する

イベントリスナーは、特定のユーザー入力イベントが発生したときにトリガーされる JavaScript 関数です。このようなイベントの簡単な例は、マウスクリックまたはキーボードボタンの押下です。イベントリスナー関数は、最初にターゲットに登録する必要があります。その後、関心のある特定のイベントが発生するたびに、リスナー関数がトリガーされます。同じまたは異なるイベントタイプをリッスンできる同じターゲットに複数のリスナーを接続できます。

今日の記事は、JavaScript でキーボード入力イベントを認識する方法を示しています。

JavaScript で addEventListener() を使用してキーボード入力イベントを検出する

これは、イベントリスナーを登録する JavaScript によって提供される組み込みメソッドです。これは、EventTarget インターフェースのメソッドです。指定されたイベントがターゲットで検出されるたびに、構成されている関数が呼び出されます。

構文

target.addEventListener($type, $listener);
target.addEventListener($type, $listener, $options);
target.addEventListener($type, $listener, $useCapture);

パラメータ

  • $type:これは、リッスンするイベントのタイプを指定する文字列のみを受け入れる必須パラメーターです。大文字と小文字が区別され、mousekeyboardinputdatabase などのさまざまなイベントをサポートします。
  • $listener:これは必須パラメーターであり、指定されたタイプのイベントが発生したときに通知を受け取るオブジェクトです。このオブジェクトは、EventListener インターフェースまたは JavaScript 関数を実装している必要があります。
  • $options:イベントリスナーの特性を指定するオプションのパラメーターです。いくつかの特徴は、captureoncepassivesignal などがある。
  • $useCapture:このタイプのイベントが DOM ツリーの下の EventTarget に送信される前に、登録されたリスナーに送信されるかどうかを示すブール値を受け入れるオプションのパラメーターです。

keydownkeypress、および keyup を聞くことができるキーボードイベントには 3つのタイプがあります。ブラウザは、キーボードのキーが押されたときに keydown イベントを発生させ、キーボードのキーを離すと、keyup イベントを発生させます。各キーボードイベントには、独自の keyCode または key があります。たとえば、Enter ボタンにはキーEnter と keyCode 13 があります。

コード例:

<input type="text" id="textId">
document.getElementById('textId').addEventListener('keydown', myFunction);

function myFunction() {
  switch (event.key) {
    case 'ArrowDown':
      console.log('ArrowDown');
      break;
    case 'ArrowUp':
      console.log('ArrowUp');
      break;
    case 'ArrowLeft':
      console.log('ArrowLeft');
      break;
    case 'ArrowRight':
      console.log('ArrowRight');
      break;
    default:
      console.log(event.key, event.keyCode);
      return;
  }

  event.preventDefault();
}

出力:

キーボード入力イベント JS を検出する

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

関連記事 - JavaScript Event