2013-07-11 2 views
1

자바 스크립트에서 8 비트 컴퓨터 에뮬레이터를 구현하기 위해 onkeydownonkeyup 이벤트를 사용합니다. 에뮬레이트 된 컴퓨터의 키보드 매트릭스 상태를 에뮬레이션해야하므로 이러한 이벤트가 심하게 필요합니다 (키 누르지 않음!). 따라서 키를 눌렀다 놓은 시점을 알아야합니다.특수 키 (0 keyCode 반환)로 onkeyup/down 이벤트를 모니터하는 방법은 무엇입니까?

잘 작동하지만 event.keyCode으로 0이 (가)으로 반환됩니다. 이 상황을 어떻게 처리해야할지 모르겠습니다. 이것은 또한 헝가리어 키보드 레이아웃에서 영어 이외의 문자처럼 "특수"키를 누르면 (헝가리어 인 것처럼) 상황입니다. 나는 여전히 키가 디코드 될 필요가있다. 일반적인 어플리케이션에서와 같은 의미는 아니다. 시나리오는 에뮬레이트 된 컴퓨터의 키 이벤트를 실제 의미가 아니라 키보드의 "위치"키로 에뮬레이션하는 것입니다.

적어도 이벤트에서 keyCode 0을 받았을 때 어떤 키를 눌렀는지 알 수있는 방법이 있습니까? 감사!

답변

0

jQuery의 keyup 이벤트를 사용할 수 있습니다. 질문을 이해했다면 바로 누른 키의 키 코드를 검색 할 수 있습니다. 다음과 같은 함수를 사용하여 엔터 키를 확인합니다. 전체 키 코드 목록을 보려면 this page을 참조하십시오.

$(window).keyup(function(e){ 
    if(e.which === 13) 
     // enter key pressed 
}); 
+0

음 그래,하지만이, JQuery와없는 등 영어 문자도 (단순 이벤트를 사용)를 입력 같은 "일반 키"로, 나를 위해 완벽하게 작동합니다. 문제는 헝가리어 문자와 같은 특수 키를 사용하여 keyCode로 0을 얻는 것입니다. 하지만 좋은 생각, 내가 그 열쇠로 무엇을 할 것인가 Jquery를 확인합니다 ... – LGB

관련 문제