1

以下のコードはラテン語nでのみ機能しますが、キリル文字нで機能させる方法

if(event.keyCode === 78) {
console.log('okay');
}

そして、私がUSとは異なるキーボードレイアウトを変更してlatin Nをクリックすると、このコードが機能するのは奇妙です

4

2 に答える 2

4

あなたが何を求めているのかよくわかりませんが、キーボードでキリル文字を入力することに関連する文字を取得したいと思っていると思います。もしそうなら、正しいイベントが であるのに間違ったイベント (keydownまたは) を使用していると思います。入力された文字について教えてくれる間、押された物理キーについて教えてくれます。入力された文字を取得する方法の簡単なクロスブラウザーの例を次に示します。keyupkeypresskeydownkeyupkeypress

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

JavaScript キーボード イベントの決定的なリファレンスは次のとおりです: http://unixpapa.com/js/key.html

于 2012-04-29T23:50:03.507 に答える
0

キリル文字нは UTF8 の最初の 127 文字の一部ではないため、コードは機能しません。意味がある場合は、 н、つまり 1085 に適切なコードを使用してみてください。

if(event.keyCode === 1085) {
    console.log('okay');
}

補足として、キリル文字とラテン文字の間には 1 対 1 の関係はありません。

于 2012-04-29T23:12:03.357 に答える