現役システムエンジニアの備忘録

技術スキルや用語などの記録を残していきます

イベント

【JavaScript入門】onkeydown・onkeypress・onkeyupの使い方|キー操作イベントの発生タイミングを徹底解説

投稿日:2019年6月21日 更新日:

JavaScriptのonkeydown・onkeypress・onkeyupとは?キー操作で発生するイベントを解説

onkeydownonkeypressonkeyup は、
キーボードの操作に応じて発生するイベントです。
同じ要素に設定した場合、一般的に onkeydown → onkeypress → onkeyup の順に発生します。

ただし、ブラウザによって発生順序や挙動が異なる場合があります。



onkeydownイベントとは?

onkeydown は、キーが押された瞬間に発生するイベントです。
最も早いタイミングでキー入力を検知できます。

使用例:キーが押されたらメッセージを表示

<body onkeydown=”alert(‘呼んだ?’)”>

→ キーを押した瞬間にダイアログが表示されます。



onkeypressイベントとは?

onkeypress は、キーが押されている間、断続的に発生するイベントです。
文字入力に関連するキーでのみ発生する場合があります。

使用例:キーが押されている間、関数を呼び出す

document.onkeypress = kpress;

→ キーを押し続けている間、kpress() が繰り返し実行されます。

onkeyupイベントとは?

onkeyup は、押されたキーが離されたときに発生するイベントです。
入力確定後の処理に向いています。

使用例:キーが離されたら処理を実行

<a href=”#” onkeyup=”kup()”>リンク</a>

→ キーを離した瞬間に kup() が実行されます。



3つのキーボードイベントの違い

イベント 発生タイミング
onkeydown キーを押した瞬間
onkeypress キーが押されている間(文字入力系のみ)
onkeyup キーを離した瞬間

→ 入力のタイミングに応じて使い分けることで、より細かい制御が可能になります。

実際のサンプル

<input type=”text” name=”keytest”
  onkeydown=”console.log(‘keydown’)”
  onkeypress=”console.log(‘keypress’)”
  onkeyup=”console.log(‘keyup’)”>

→ キー操作の順序を確認するのに便利です。

まとめ

  • onkeydown:キーを押した瞬間に発生
  • onkeypress:キーが押されている間に発生(文字入力系)
  • onkeyup:キーを離した瞬間に発生
  • 入力補助・ショートカットキー・リアルタイム入力処理に便利

関連リンク

-イベント
-

執筆者:

関連記事

【JavaScript入門】onload・onunloadの使い方|ページ読み込み時・離脱時のイベント処理をわかりやすく解説

JavaScriptのonload・onunloadとは?ページ読み込み時・離脱時のイベント処理を解説 onload と onunload は、ページの読み込み完了時やページ移動時に処理を実行するため …

【JavaScript入門】event.target・event.typeの使い方|イベント発生元と種類を取得する方法

JavaScriptのevent.target・event.typeとは?イベント発生元と種類を取得する方法 event.target と event.type は、イベントオブジェクトから 「どの要 …

【JavaScript入門】onabort・onerrorの使い方|画像読み込み中断・失敗時のイベント処理を解説

JavaScriptのonabort・onerrorとは?画像読み込み中断・失敗時のイベント処理を解説 onabort と onerror は、画像が正常に読み込めなかった場合に発生するイベントです。 …

【JavaScript入門】onchange・onselectの使い方|入力内容の変更・文字選択時のイベント処理を解説

JavaScriptのonchange・onselectとは?入力内容の変更・選択時に発生するイベントを解説 onchange と onselect は、フォーム要素の内容が変化したとき、または文字が …

【JavaScript入門】keyCodeの使い方|押されたキーのコードを取得する方法を解説

JavaScriptのkeyCodeとは?押されたキーのコードを取得する方法を解説 event.keyCode は、キーボードで押されたキーのコード(キーコード)を取得するためのプロパティです。 どの …