キーボードのアルファベットの上にある数字から 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 で削除、タブなどをキャプチャしないためです。