1

下面的代码仅适用于拉丁语n,但如何使其适用于西里尔语-

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

如果我更改与美国不同的键盘布局并单击 latin N

4

2 回答 2

4

我不太确定你在问什么,但我假设你想获得与在键盘上输入西里尔字符相关的字符。如果是这样,我想当keydown正确keyup的事件是keypress. 告诉你按下的物理键,同时keydown告诉你输入的字符。这是一个简单的跨浏览器示例,说明如何获取键入的字符:keyupkeypress

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

Cyrillic н不是 UTF8 的前 127 个字符的一部分,因此您的代码不起作用。如果有意义的话,您可以尝试为н使用适当的代码,即 1085:

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

作为旁注,西里尔字母和拉丁字符之间没有一对一的关系 - 我建议在尝试发明之前三思而后行。

于 2012-04-29T23:12:03.357 回答