2017-07-27 14 views
2

私は、Chromeブラウザを使用してjavascript(macbook pro OSX 10.11.xでこの問題があるかどうかはわかりません)で作業しています。機能を使用して イム:a:65または97のJavascriptキーコード?

window.onkeypress = function(e) { 
    var key = e.keyCode ? e.keyCode : e.which; 
    console.log("keypressed = " + key); 
} 

私は私のキーボード上の「」キーを押したときに、それが97としてログに記録されますが、これは私がインターネット上で見つけ、他のキーコードリストに対応していない、と述べています「」これは、例えば、私は「s」は115で、同様に他のキーのために同じですが、誰もが「s」は83

であると述べているi「は依存性があります65

です私は行方不明? ==と仮定してイベントを発生させると、他のブラウザでも動作しますか?

ありがとうございました。

+4

"キープレス" イベントは* *キーコードをあなたを与えるものではありません、それは*あなたの*文字コードを示します。 – Pointy

+0

文字(chr)コード –

+1

a = 97、A = 65 – PRMoureu

答えて

1

だから私は、資本Aが実際にあることがわかった65

小文字aは97

でこのチャートをご覧ください。

enter image description here

は元の場所をチャート:http://www.asciitable.com/

5

大文字は小文字と同じではなく、p異なるコードを引き出す。

また、keypressイベントは、イベントまたは​​イベントとは異なる動作をします。 keypressは印刷可能な文字に応答し、生成された文字のコードを返します。 keyupと​​のコードは、押されたキーボード上の物理ハードウェアキーを表します。たとえば、以下のスニペットを実行してSHIFTキーを押すと、keypressイベントログメッセージは表示されません。そのイベントはそのキーで発生しないためです。

window.addEventListener("keyup", function(e) { 
 
    var key = e.keyCode ? e.keyCode : e.which; 
 
    console.log("key up = " + key, e.key); 
 
}); 
 

 
window.addEventListener("keydown", function(e) { 
 
    var key = e.keyCode ? e.keyCode : e.which; 
 
    console.log("key down = " + key, e.key); 
 
}); 
 

 
window.addEventListener("keypress", function(e) { 
 
    var key = e.keyCode ? e.keyCode : e.which; 
 
    console.log("key pressed = " + key, e.key); 
 
});
Just click in this area to give it the focus, then press some keys.

+0

これはOPの質問に直接答えるものではありませんが、イベントに応じてdiffの値が返されることに注意してください。 –

+0

@CrayonViolent私はその編集作業をしていて、電話をかけなければなりませんでした。回答が更新されました。 –

関連する問題