ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > JavaScript > 【jQuery】キーボード操作でイベント発火するkeydown/keypress/keyupを解説

【jQuery】キーボード操作でイベント発火するkeydown/keypress/keyupを解説

JavaScript

2022/05/18

2023/05/08

jQuery-keydown-keypress-keyup

jQueryにはキーボード操作でイベントが発生するkeydown()keypress()keyup()の3つのイベントがあります。

様々なイベントを学ぶことで制作の幅が広がるので、知識として身に付けていきましょう!

この記事では「jQueryのkeydown/keypress/keyupイベントの使い方」について解説します。

 

この記事で身につく内容
  • jQueryのkeydown/keypress/keyupイベントの使い方

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

keydown()イベント:キーボードのキーが押し込まれるとイベント発火

jQueryのkeydownイベントは、jQueryのイベントの一つです。keydown()キーボードのキーが押し込まれたときイベントが発火します。

基本書式

$("フォーム要素").keydown(function(){
  // ここに処理の内容を記述する
});

上の書式にコードを当てはめると次のようになります。

<input type="text" placeholder="テキストを入力する">
<p>keydown:<span class="keydown"></span></p>
$("input").keydown(function (e) {
  const key = e.keyCode;
  $(".keydown").text(key);
});

出力結果

 

フォームにテキストを入力すると、キーコードを取得し、textメソッドでキーコードを出力するイベントが発火します。

キーコードは以下のような値になります。

キーコード参考ページ

 

keypress()イベント:キーボードのキーが押されたときイベント発火

jQueryのkeypressイベントは、jQueryのイベントの一つです。keypress()キーボードのキーが押されたときイベントが発火します。

基本書式

$("フォーム要素").keypress(function(){
  // ここに処理の内容を記述する
});

上の書式にコードを当てはめると次のようになります。

<input type="text" placeholder="テキストを入力する">
<p>keypress:<span class="keypress"></span></p>
$("input").keypress(function (e) {
  const key = e.keyCode;
  $(".keypress").text(key);

});

出力結果

ZeroPlusgate50教材の動画

keyup()イベント:押し込まれたキーボードのキーが上がったときイベント発火

jQueryのkeyupイベントは、jQueryのイベントの一つです。keyup()は、押し込まれたキーボードが上がったときイベントが発火します。

基本書式

$("フォーム要素").keyup(function(){
  // ここに処理の内容を記述する

});

上の書式にコードを当てはめると次のようになります。

<input type="text" placeholder="テキストを入力する">

<p>keyup:<span class="keyup"></span></p>
$("input").keyup(function (e) {
  const key = e.keyCode;
  $(".keyup").text(key);

});

出力結果

 

keydown/keypress/keyupでは、keydownが最も発火が早い。

keydown()、keypress()、keyup()の3つのイベントの中で、は、イベント発火のタイミングが最も早いのはkeydownです。

<input type="text">
<p>keydown:<span class="keydown"></span></p>
<p>keypress:<span class="keypress"></span></p>
<p>keyup:<span class="keyup"></span></p>
$("input").keydown(function (e) {
  const key = e.keyCode;
  $(".keydown").text(key);

});

$("input").keypress(function (e) {
  const key = e.keyCode;
  $(".keypress").text(key);

});

$("input").keyup(function (e) {
  const key = e.keyCode;
  $(".keyup").text(key);

});

出力結果

フォームにテキストを入力すると、keydown()が最も早くイベントが発火します。

 

まとめ

jQueryのkeydown()keypress()keyup()の3つのイベントはキーボード操作でイベントが発火します。3つのイベントの中で、発火のタイミングはkeydown()が最も早いです。

例えば、テキストエリアやinput要素などにイベントを組み込むときなどに使うことができます。

Web制作ではあまり使用する機会はないかもしれませんが、知識として覚えておきましょう。

 

jQueryのkeydown/keypress/keyup()イベントまとめ

  • keydown():キーボードのキーが押し込まれたとき、イベント発火
  • keypress():キーボードのキーが押されたとき、イベント発火
  • keyup():押し込まれたキーボードが上がったとき、イベント発火
  • keydown()keypress()keyup()の中で発火のタイミングはkeydown()が最も早い
ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

\ 学んだことをSNSでシェアしよう /

おすすめのタグ

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

質問について

ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

選べる2つの質問方法

1

Google Foam(テキスト)で質問

mail

フォーム送信

メールで解答

formで質問
2

Google meet(オンラインmtg)で質問

meet

日時選択

メールを受け取る

メールからmtgに参加

meetで質問
ZeroPlus Gateについて

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから