2

keydown イベントのプロパティに基づいて、現在の charCode が何であるかを確認したいと思いますか?

例。

NumPad0、D0、およびコロン キーが押されたときのキーダウン イベントについて、関連する文字コードを知りたいです。現在、そのkeyCodeに関連付けられたcharcodeを含むマップを持っているか、charCodeが指定されていない場合は現在のものを使用しています。

keyCode = {
  Colon: 186,
  D0: 48,
  NumPad0: 96,
};
charCodes = {
  186: 59,
  96: 48,
};
shiftCharCodes = {
  186: 58,
  48: 41
};

また、場合によっては、キーコードがブラウザ間で異なりますか?

例。

keydown イベントには、ブラウザ間で異なる keyCode 値があります。コロン キー (:/;) - Firefox の keyCode は 59 - IE/safari の keyCode は 186

詳細については

http://www.quirksmode.org/js/keys.html

4

2 に答える 2

1

keydownキー押下に関連付けられた文字コードに興味がある場合、イベントでは何も得られません。イベントは、このkeypress情報が利用できる唯一の場所であり、ほとんどの印刷可能なキーにとってそれほど問題ではありません。

document.onkeypress = function(evt) {
    evt = evt || window.event;
    var charCode = evt.which || evt.keyCode;
    alert("Character: " + String.fromCharCode(charCode));
};

ファンクション キーなどの「特別な」印刷不可能なキー押下に関するブラウザの動作には違いがあります。詳細については、Jan Wolter によるこの記事が、JavaScript のキー処理に関する決定的なリファレンスであると考えています。

于 2010-05-26T22:30:46.337 に答える
-1

私は一般的に、これから与えるような答えを嫌いますが、それは適切だと思います:

これは、jQuery、Prototype、Dojo、MooTools などのライブラリの完璧な使用例です。

この作業で自分に負担をかけたくありません。すでに完了しています。

于 2010-05-26T22:13:02.683 に答える