1

キーボードのアルファベットの上にある数字から 8 を押すと event. は 56 を返しますが、横にあるテンキーから 8 を押すと 104 ('h' の ascii) を返します。私はこれをやっていた:

var keyPressed = event.which;
String.fromCharCode(keyPressed); // returns 8 from keyboard, 'h' from keypad

keydownイベントのハンドラー内でこれを行っています。これで、キーボードの各キーには異なる keyCode があり、おそらく event. がテンキー 8 の keyCode を返していることがわかりました。これはたまたま ascii 'h' と一致しています。どこから入力されたかに関係なく、単に 8 を返したいだけです。

また、上記のコードを keyPress イベント ハンドラーにバインドすることはできません。これは、IE で削除、タブなどをキャプチャしないためです。

4

2 に答える 2

0

アスキー コードと文字コードは、2 つの別個のものです。テンキーの '8' は 104 の文字コードになり、'h' は 72 になります。すべてのキーには異なる番号があるため、h は常に 72 になります。

文字コード

Jquery Docs JQuery イベントに良い例があります。

于 2011-11-30T08:01:26.443 に答える