2012-04-29 1 views

답변

4

나는 당신이 무엇을 요구하고 있는지 잘 모르겠다. 그러나 나는 키보드에서 키릴 문자로 타이핑하는 것과 관련된 캐릭터를 얻고 싶다고 가정 할 것이다. 그렇다면 정확한 이벤트가 keypress 일 때 잘못된 이벤트 (keydown 또는 keyup)를 사용하고 있다고 생각합니다. keydownkeyup은 입력 한 문자에 대해 keypress이 알려주는 동안 누르는 물리적 키를 알려줍니다. http://unixpapa.com/js/key.html

:

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); 
}; 

여기에 자바 스크립트 키보드 이벤트에 대한 명확한 기준이있다 : 여기에 입력 된 문자를 얻는 방법의 간단한 크로스 브라우저의 예입니다

0

키릴 문자 н은 UTF8의 처음 127 자의 일부가 아니므로 코드가 작동하지 않습니다. 그것이 어떤 의미 만드는 경우, 즉 1085입니다 н에 적합한 코드를 사용하여 시도 할 수 : 보조 노트로

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

을, 키릴 및 라틴 문자 사이에 일대일 관계가 없다 - 나는 것 하나를 발명하려고 시도하기 전에 두 번 생각하라.

관련 문제