KeyboardEvent: charCode プロパティ

非推奨: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

charCodeKeyboardEvent インターフェイスの読み取り専用プロパティで、 keypress イベントの間に押されたキーの Unicode 値を返します。

警告: このプロパティは非推奨なので、使用しないでください。代わりに key プロパティを使用して、文字の Unicode 値を取得してください。

押された文字キーの Unicode 値を表す数値です。

HTML

html
<p>下の入力ボックスに何かを入力すると <code>charCode</code> を記録します。</p>
<input type="text" />
<p id="log"></p>

JavaScript

js
const input = document.querySelector("input");
const log = document.querySelector("#log");

input.addEventListener("keypress", (e) => {
  log.innerText = `Key pressed: ${String.fromCharCode(e.charCode)}\ncharCode: ${
    e.charCode
  }`;
});

結果

メモ

  • keypress イベントでは、押されたキーの Unicode 値は keyCode または charCode プロパティのどちらかに格納されますが、両方格納されることはありません。押されたキーが文字(例えば 'a')を生成する場合、 charCode にはその文字のコードが設定されます。 charCode は文字の大文字小文字を区別します(言い換えれば、 charCodeshift キーが押されていたかどうかを考慮します)。そうでない場合は、押されたキーのコードが keyCode に格納されます。
  • 1 つ以上の修飾キーが押されたとき、 charCode にはいくつかの複雑なルールがあります。詳しくは Gecko Keypress Event を参照してください。
  • charCodekeydownkeyup イベントで設定されることはありません。これらのケースでは、代わりに keyCode が設定されます。
  • keyCodecharCode のどちらに格納されていたとしても、キーのコードを取得するには、which プロパティを参照してください。
  • IME から入力された文字は keyCodecharCode を通して登録されません。
  • 特定のキーに関連付けられた charCode 値のリストについては、例 7: イベントオブジェクトのプロパティを表示するを実行して、結果の HTML の表を表示してみてください。

仕様書

Specification
UI Events
# dom-keyboardevent-charcode

ブラウザーの互換性

BCD tables only load in the browser