【Javascript応用】キーボードイベント (keydown, keyup, keypress)とは?


キーボードイベントは、ユーザーがキーボードを操作する際に発生するイベントであり、JavaScriptを使用してそれらを捕捉し、処理することができます。この記事では、キーボードイベントの主要な種類であるkeydown、keyup、keypressについて詳しく解説し、それらを実際のコーディングにどのように活用するかを示します。


キーボードイベントは、ウェブページ上でキーボード入力を処理するために使用されます。これらのイベントは、ユーザーがキーボードのキーを押すや離すなどの操作に対応して発生し、JavaScriptによって検知されます。主なキーボードイベントには、keydownkeyupkeypressがあります。それぞれが異なるタイミングで発生し、異なる情報を提供します。

目次

keydownイベントとは

keydownイベントは、キーボードのキーが押された瞬間に発生します。このイベントは、キーが押された瞬間に処理を実行したい場合に利用されます。

document.addEventListener('keydown', function(event) {
    console.log('Key pressed:', event.key);
});

keyupイベントとは

keyupイベントは、キーボードのキーが離された瞬間に発生します。このイベントは、キーが離された瞬間に処理を実行したい場合に利用されます。

document.addEventListener('keyup', function(event) {
    console.log('Key released:', event.key);
});

keypressイベントとは

keypressイベントは、実際に文字が入力される瞬間に発生します。ただし、このイベントは特定のキーが押されたときにのみ発生し、修飾キー(Shift、Ctrl、Altなど)や矢印キーなどの特殊なキーでは発生しません。

document.addEventListener('keypress', function(event) {
    console.log('Character typed:', event.key);
});

実践例

キーボードイベントを使用することで、ユーザーのキーボード操作に応じた機能を実装することができます。例えば、キーボードショートカットやテキスト入力時のリアルタイム検証などが挙げられます。

const inputField = document.getElementById('textInput');

inputField.addEventListener('keypress', function(event) {
    if (!/[0-9]/.test(event.key)) {
        event.preventDefault(); // 数字以外の入力を防止
    }
});

まとめ

キーボードイベント (keydownkeyupkeypress)は、ユーザーがキーボードを操作する際に発生し、JavaScriptによって検知されます。これらのイベントを活用することで、ウェブページのインタラクティブ性やユーザーエクスペリエンスを向上させることができます。

目次