jquery キーコード 一覧

jQuery キーコード 一覧: ウェブサイトにキー入力イベントを実装するための完全ガイド

はじめに: キーボードイベントとキーコードの基礎知識

キーボードは、ユーザーがウェブサイトと対話するための主要な手段の一つです。ユーザーがキーボードのキーを押したり、離したりする度に、ウェブサイトはその情報を処理し、適切なアクションを実行することができます。ここでは、ウェブサイトにキー入力イベントを実装するための基礎知識として、キーボードイベントとキーコードについて解説します。

キーボードイベント

キーボードイベントとは、ユーザーがキーボードを操作した時に発生するイベントのことです。代表的なキーボードイベントは以下の3つです。

  • keydown: キーが押された瞬間に発生するイベント
  • keypress: キーが押され、文字が入力される時に発生するイベント (keydown と keyup の間に発生)
  • keyup: キーが離された瞬間に発生するイベント

キーコード

キーコードは、各キーに割り当てられた固有の数値です。キーボードイベントが発生した際に、どのキーが操作されたかを識別するために使用されます。例えば、「Enter」キーのキーコードは「13」、「Esc」キーのキーコードは「27」といったように、それぞれのキーに固有のキーコードが割り当てられています。

jQuery でのキーボードイベント処理

jQuery を使用すると、キーコードを利用してキーボードイベントを簡単に処理することができます。jQuery では、以下のようにキーボードイベントを処理することができます。


$(document).keydown(function(event) {
  // キーが押された時の処理
  console.log("キーが押されました。"); 
});

$(document).keypress(function(event) {
  // キーが押され、文字が入力される時の処理
  console.log("キーが入力されました。"); 
});

$(document).keyup(function(event) {
  // キーが離された時の処理
  console.log("キーが離されました。"); 
});

主要キーコード一覧表

ウェブサイトでよく利用されるキーコードをまとめた表です。これらのキーコードを参考に、ウェブサイトに様々なキー入力イベントを実装することができます。

キー キーコード 説明 jQuery イベント
Backspace 8 入力した文字を削除 keydown, keyup
Tab 9 カーソルを次の入力欄へ移動 keydown, keyup
Enter 13 入力確定、改行 keydown, keyup
Shift 16 シフトキー keydown, keyup
Ctrl 17 コントロールキー keydown, keyup
Alt 18 オルトキー keydown, keyup
Esc 27 キャンセル、エスケープ keydown, keyup
Space 32 スペースキー keydown, keyup
Page Up 33 前ページへスクロール keydown, keyup
Page Down 34 次ページへスクロール keydown, keyup
End 35 行末にカーソルを移動 keydown, keyup
Home 36 行頭にカーソルを移動 keydown, keyup
左矢印キー 37 左にカーソルを移動 keydown, keyup
上矢印キー 38 上にカーソルを移動 keydown, keyup
右矢印キー 39 右にカーソルを移動 keydown, keyup
下矢印キー 40 下にカーソルを移動 keydown, keyup
Delete 46 カーソル後の文字を削除 keydown, keyup
0 - 9 48 - 57 数字キー keydown, keyup
A - Z 65 - 90 アルファベットキー (大文字) keydown, keyup
F1 - F12 112 - 123 ファンクションキー keydown, keyup
Num Lock 144 テンキーのオン/オフ keydown, keyup

jQuery でのキーコード取得方法

jQuery でキーコードを取得するには、イベントオブジェクトの which プロパティを使用します。 which プロパティは、キーボードイベント発生時に押されたキーのキーコードを返します。


$(document).keydown(function(event) {
  var keyCode = event.which;
  console.log("キーコード: " + keyCode);
});

キーコードを利用した実践的な jQuery コード例

1. Enter キーでフォーム送信

Enter キーを押した時にフォームを送信する例です。 event.preventDefault() を使用することで、Enter キーを押した時のデフォルトの動作 (改行) を無効化しています。


$(document).keydown(function(event) {
  if (event.which === 13) { // Enterキーが押された場合
    event.preventDefault(); // デフォルトの動作(改行)を無効化
    $("#myForm").submit(); // フォーム送信
  }
});

2. 矢印キーで画像を移動

矢印キーを使って画像を上下左右に移動させる例です。キーコードに対応する矢印キーが押された場合に、画像の位置を調整しています。


$(document).keydown(function(event) {
  var img = $("#myImage");
  var position = img.position();
  var moveAmount = 10; // 移動量

  switch (event.which) {
    case 37: // 左矢印キー
      img.css("left", position.left - moveAmount + "px");
      break;
    case 38: // 上矢印キー
      img.css("top", position.top - moveAmount + "px");
      break;
    case 39: // 右矢印キー
      img.css("left", position.left + moveAmount + "px");
      break;
    case 40: // 下矢印キー
      img.css("top", position.top + moveAmount + "px");
      break;
  }
});

まとめ: キーコードを使いこなして、よりインタラクティブなウェブサイトを

jQuery とキーコードを組み合わせることで、ユーザーフレンドリーなウェブサイトを構築することができます。今回紹介した情報をもとに、ご自身のウェブサイトにキー入力イベントを実装し、ユーザーにとってより快適で使い心地のよいウェブサイトを目指しましょう。

関連情報

Q&A

Q1: キーコードはブラウザによって異なる?

A1: いいえ、キーコードはブラウザ間でほぼ統一されています。ただし、一部の古いブラウザや特殊なキーボードでは、異なるキーコードが割り当てられている場合があります。そのため、クロスブラウザ対応を行う場合は、各ブラウザでの動作確認が重要です。

Q2: キーボードイベントとキーコードは、どのような場面で活用できる?

A2: キーボードイベントとキーコードは、ゲーム開発、ショートカットキーの実装、アクセシビリティの向上など、様々な場面で活用できます。例えば、ゲーム開発では、ユーザーのキー入力によってキャラクターを操作したり、攻撃したりすることができます。また、ショートカットキーの実装によって、ユーザーはキーボード操作だけでウェブサイトの様々な機能を利用できるようになり、操作性が向上します。さらに、アクセシビリティの向上という点では、キーボード操作のみでウェブサイトを利用できるようにすることで、マウスが使えないユーザーでもウェブサイトにアクセスできるようになります。

Q3: jQuery 以外の方法でキーコードを取得することはできる?

A3: はい、JavaScript の標準的な API を使用してキーコードを取得することもできます。 event.keyCode プロパティを使用することで、jQuery を使用せずにキーコードを取得できます。ただし、 event.keyCode は古い API であり、将来的に廃止される可能性があります。そのため、jQuery を使用しない場合は、 event.code プロパティを使用することが推奨されます。 event.code は、キーの物理的な位置を表す文字列を返すため、より正確なキー入力を検出できます。

その他の参考記事:jquery keyup 発火