HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML DOM KeyboardEventのlocationプロパティとは?押されたキーの位置を取得する方法

HTML DOMのKeyboardEventオブジェクトが持つlocationプロパティは、キーボード上で押されたキーの位置(場所)に対応する数値を返します。このプロパティを使うことで、同じ文字でもキーボードのどのエリアで入力されたのかを判別できます。

構文

押されたキーの位置を取得するには、以下のように記述します。

event.location

戻り値となる数値の一覧

locationプロパティが返す数値は以下の4種類です。

数値説明
0キーボードの中央セクションにあるほぼすべてのキーを表します。(例:「Q」「\」、スペースキーなど)
1キーボード左側セクションのキーを表します。(例:左Ctrl、左Shift、左Altなど)
2キーボード右側セクションのキーを表します。(例:右Ctrl、右Shift、右Altなど)
3テンキー(数字パッド)セクションのキーを表します。(例:「1」「/」「.」など)

サンプルコード

ここでは、KeyboardEventのlocationプロパティを使った具体的な例を見てみましょう。テキストフィールドでキーが押されると、そのキーがキーボードのどのセクションに属しているかを画面に表示します。

<!DOCTYPE html>
<html>
<head>
<title>KeyboardEvent location</title>
<style>
   form {
      width:70%;
      margin: 0 auto;
      text-align: center;
   }
   * {
      padding: 2px;
      margin:5px;
   }
   input[type="button"] {
      border-radius: 10px;
   }
</style>
</head>
<body>
<form>
<fieldset>
<legend>KeyboardEvent-location</legend>
<label>空欄に入力してください:
<input type="text" id="textSelect" placeholder="ここに入力..." onkeydown="getEventData(event)" autocomplete="off">
</label>
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
   var divDisplay = document.getElementById("divDisplay");
   var textSelect = document.getElementById("textSelect");
   function getEventData(InputEvent) {
      if(InputEvent.location === 0)
         divDisplay.textContent = '中央セクションのキーが押されました';
      else if(InputEvent.location === 1)
         divDisplay.textContent = '左側セクションのキーが押されました';
      else if(InputEvent.location === 2)
         divDisplay.textContent = '右側セクションのキーが押されました';
      else
      divDisplay.textContent = 'テンキーセクションのキーが押されました';
   }
</script>
</body>
</html>

実行結果

このコードを実行すると、以下のような結果になります。

テキストフィールドに何も入力していない状態:

HTML DOM KeyboardEventのlocationプロパティとは?押されたキーの位置を取得する方法

テキストフィールドに「w」と入力した後:

HTML DOM KeyboardEventのlocationプロパティとは?押されたキーの位置を取得する方法

テンキー側の「+」キーを押した後:

HTML DOM KeyboardEventのlocationプロパティとは?押されたキーの位置を取得する方法

このように、locationプロパティを活用すれば、キーイベント発生時にどのエリアのキーが操作されたかを簡単に判定でき、ゲームやショートカット機能など、より高度なキーボード操作の実装に役立ちます。

  1. HTML DOMのLocation searchプロパティとは?URLクエリ文字列の取得・設定方法を解説

    JavaScriptのLocationオブジェクトにおけるsearchプロパティは、URLに含まれるクエリ文字列(「?」以降の部分)を取得または設定するためのプロパティです。例えば、「https://example.com/page?name=taro&id=123」というURLの場合、searchプロパティは「?name=taro&id=123」という文字列を返します。 構文 searchプロパティの基本的な構文は以下のとおりです。 値の取得 location.search 値の設定 location.search = searchString 使用例 ここでは、実際にsearchプ

  2. HTML DOM KeyboardEventのaltKeyプロパティとは?ALTキー押下状態の判定方法を解説

    HTML DOMのKeyboardEvent altKeyプロパティは、HTMLドキュメント上でキーイベントが発生したときに、Alt(ALT)キーが押されていたかどうかを判定するためのプロパティです。このプロパティは読み取り専用で、戻り値として以下のブール値(真偽値)を返します。true:キーイベント発生時にAltキーが押されていた場合false:Altキーが押されていなかった場合なお、Mac環境ではOptionキーがAltキーに相当します。また、類似の修飾キー判定プロパティとして、Ctrlキーを判定する「ctrlKey」、Shiftキーを判定する「shiftKey」、Metaキー(Windo