速報

imgproxyのICO処理にコード実行のおそれ|4.0.16だけでは残る問題を確認

CATEGORY

【JavaScript】キーボードから入力されたキー情報を取得する

※本ページのリンクにはプロモーションが含まれています。

【JavaScript】キーボードから入力されたキー情報を取得する

目次

本記事では、JavaScriptでキーボードから入力されたキー情報を取得する方法をご紹介しています。

キーボードから入力されたキーを取得するにはどうすればいいんだろう?

上記の疑問にお答えしています。

では、解説していきます。

スポンサーリンク

キーボードから入力されたキー情報を取得する

下記はキーボードから入力されたキー情報を取得することができるスクリプトです。入力されたキーの情報はキーイベントのイベントオブジェクトから取得することができます。

document.addEventListener('keydown', (event)=>{
    console.log(event.key);
});

動作確認用にデモをご用意しました。デモ内を選択(クリック)した状態でキーボード入力をすると、コンソール上に入力したキーが表示されます。

See the Pen bGwpvgK by ryohei (@intotheprogram) on CodePen.

キーイベントが発火すると、イベントオブジェクトがハンドラに渡されます。イベントオブジェクトからは多くの情報を取得することができますが、入力されたキーという点では下記の2つがよく使用されています。

event.code 入力されたキーコードを取得する
event.key 入力されたキーを取得する

※キーコードについては下記に一覧がございます。

キーボードの入力から取得することができるkeyとcodeが確認できるデモを用意しました。下記のウィンドウ内を選択した状態でキーを入力すると、対象のevent.codeとevent.keyが表示されます。

See the Pen 6077-2 by ryohei (@intotheprogram) on CodePen.

これでキーボードの入力からキー情報を取得することができます。

その他のキーイベントについて

本記事では、キーボードのキーイベントとしてkeydownを使って解説してきましたが、に登録できるキーイベントは他にもあります。

下記がイベントリスナーに登録することができるキーイベントです。

keydown キーボードの任意のキーが押された際にイベントが発生します。
keypress キーボードの「Shift、Fn、CapsLock」以外のキーが押された際にイベントが発生します。キーが押されたままの状態の場合はイベントが連続して発生します。
keyup キーボードのキーが押された状態から解放された際にイベントが発生します。

キー入力であれば本記事で使用したkeydownが用途にあてはまるかと思いますが、コントロール関係を除外したいときや、キーが押された状態から解放されたときのイベントが取得したい場合は変更してご使用いただければと思います。

他に指定することができるイベントにつきましては下記のページでご紹介しています。併せてご確認ください。

スポンサーリンク

最後に

キーボードのキー入力を取得して何らかの処理を実行するというのは、ブラウザで実行する簡単なゲームや、Canvasなどにでも活用できそうですね。また、ある特定のキーが入力されたら画面内のコンテンツを強調するなど、ユニークなアニメーションが作成できる気がします。

JavaScriptで入力されたキーの情報を取得するのはそんなに難しいことではないので、後はアイデアで閲覧者が驚くような仕組みを考えていただければと思います!

以上、JavaScriptでキーボードから入力されたキー情報を取得する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

イベントリスナー

クリックやスクロール、キー入力などの出来事(イベント)が起きたときに実行する処理を登録する仕組み。

詳しく見る