JavaScriptキーコードとは何ですか?[閉まっている]


82

JavaScriptで使用できるキーコードは何ですか?すべてのブラウザで同じでない場合は、各ブラウザのキーコードをリストしてください。


それで、完全にあなたはユニコード範囲全体のようにしたいですか?「完全」とはどういう意味かを指定する必要があります。
Jakub Hampl 2011

完全とは、すべてのキーコード番号を含むことを意味します。私が与えた例は数字8、9、13、16、17を与えます...したがって、いくつかの数字をスキップします。
web_Designer 2011

3
JavaScriptキーコードが割り当てられる文字数は数え切れないほどあると思います。
web_Designer 2011

7
JavaScriptを使って自分でそのようなテーブルを作ってみませんか?
pimvdb 2011

1
@pimvdbアドバイスをもらいました!stackoverflow.com/a/14905611/552067
Web_Designer 2013

回答:


58

keyCodesはASCII値とは異なります。完全なkeyCodeリファレンスについては、http: //unixpapa.com/js/key.htmlを参照してください。

たとえば、テンキー番号のkeyCodes 96〜105は、ASCIIの小文字のアルファベットの先頭に対応します。これにより、数値入力の検証で問題が発生する可能性があります。


2
リンク先のページには完全なリファレンスが含まれていません。キーコードはキーボードに依存し、キーコードまたはキーコードの組み合わせの意味はそれらを解釈するソフトウェアに依存することを適切に説明しています。したがって、完全なリストはあり得ません。
Jukka K. Korpela 2013

9
http://www.javascriptkeycode.comには、さまざまなキーボードの組み合わせをテストするために最近使用した便利なキーコードジェネレーターがあります。
Raz Wilson

30

続いpimvdbのアドバイス、@、そして私自身の作成:

http://daniel-hug.github.io/characters/

JavaScriptキーコードを持つ65536文字ごとに要素を生成するのに数秒かかるため、しばらくお待ちください。


13
恐ろしいサイトです。ブラウザが毎回クラッシュします。これは使わないでください!
Florian Leitgeb 2014年

@Floeee申し訳ありませんが、現在、javascriptキーコードを持つすべての65536文字のテーブル行を生成しています。これは非常に効率的に行われますが、それでも10〜20秒かかります。開始するだけで1000をロードし、要求に応じてさらにロードするように変更する場合があります。これを説明するために編集された回答。
web_Designer 2014年

これを説明する簡単なテキストメッセージをページの最初に表示してみませんか?
Jared

4
「プロセスを終了するまで、ブラウザが不可逆的にクラッシュするのに10〜20秒かかる」と言った方が正確かもしれません。
反体制派の怒り2014

3
これらはkeyCodesではなくcharCodesです。keyCodesは、unixpapa.com
js

18

ゲームのコントロール構成UIにはこのようなものが必要だったので、標準のUSキーボードレイアウトキーコードのリストをコンパイルして、それぞれのキー名にマッピングしました。

コード->名前およびその逆のマップを含むフィドルは次のとおりです:http://jsfiddle.net/vWx8V/

他のキーレイアウトをサポートする場合は、これらのマップを個別に対応するように変更する必要があります。

あなたがキーボードを使って入力することが可能と制御文字とされない(またはめったにありません)その他の特別な値を含まキーコード値のリストを探していたとの範囲外かもしれない限り、つまりkeydown/ keypress/ keyupJavascriptののイベント。それらの多くは制御文字またはnull\0)のような特殊文字であり、おそらくそれらは必要ありません。

フルキーボードのキーの数は、キーコード値の多くよりも少ないことに注意してください。


感謝のもう一つのメモ。これらをすでにオブジェクトに含めると、時間を節約できます。
チャーリーロバーツ2014

Macで右+ cmdボタンを押すと、右クリックが返されますか?
2017




1

このスニペットを実行すると、考えられる答えが1つ与えられます。

document.write('<table>')
for (var i = 0; i < 250; i++) {
  document.write('<tr><td>' + i + '</td><td>' + String.fromCharCode(i) + '</td></tr>')
}
document.write('</table>')
td {
  border: solid 1px;
  padding: 1px 12px;
  text-align: right;
}
table {
  border-collapse: collapse;
}
* {
  font-family: monospace;
  font-size: 1.1em;
}


1
これらはキーコードではなく、文字コードです。それは違います
Lukas Eder
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.