2

特殊な記号からキー コードをキャプチャすると、キーボードのレイアウトが異なると異なる結果が生成されます。しかし、az のような「一般的な」文字はどうでしょうか? QWERTY キーボードを使用している場合は、81タイプするとキー コードが表示されますq。AZERTY キーボードを使用している場合、 「あるべき」場所にあるため、81を押したときにコードを取得しますか? それとも、マッピングは別の方法で行われますか?aaq

編集:

私が受け入れた答えは、キーをキャプチャしていて、「a」が本当に「a」であることを確認したい場合におそらく最良の解決策ですが、その下のコメントで説明しているように、キーコードがどのように「翻訳されているか」にまだ興味があります' 国際キーボードを使用する場合。つまり、ソースは、少なくとも az は一貫しているべきだと示唆していますが、これに対するサポート (または実際に試した人) を見つけることができません。

4

1 に答える 1

1

またはkeypressではなくイベントを使用すると、キーコードではなく文字コードを取得するため、問題は解決します。keyupkeydown

例:

document.onkeypress = function(e) {
    e = e || window.event;
    var charCode = (typeof e.which == "undefined") ? e.keyCode : e.which;
    alert( String.fromCharCode(charCode) );
};

そして、JavaScriptでのキー処理に関する最も信頼のおけるリソースは次のとおりです。http://unixpapa.com/js/key.html

于 2012-05-10T10:52:51.767 に答える