KeyboardEvent which 속성
정의와 사용법
which 속성이 발생 onkeypress 이벤트 의 키의 유니코드 문자 코드 또는 발생 onkeydown 또는 onkeyup 이벤트의 키의 유니코드 키보드 코드
두 가지 코드 유형의 차이점:
- 문자 코드 - ASCII 문자를 나타내는 숫자
- 키 코드 - 키보드 상의 실제 키를 나타내는 숫자
이러한 유형은 항상 동일한 의미를 가지지 않습니다. 예를 들어, 소문자 "w"와 대문자 "W"의 키보드 코드는 같지만, 결과 문자 코드는 다릅니다("w" 또는 "W", 즉 "119" 또는 "87"). 이 점에 대한 더 많은 예제를 확인하면 이해하기 쉬울 것입니다.
안내:사용자가 인쇄 가능한 키(예: "a" 또는 "5")를 눌렀는지 확인하려면 onkeypress 이벤트에서 이 속성을 사용하는 것이 좋습니다. 사용자가 기능 키(예: "F1", "CAPS LOCK" 또는 "Home")를 눌렀는지 확인하려면 onkeydown 또는 onkeyup 이벤트를 사용하십시오.
비고:IE8 및 이전 버전은 which 속성을 지원하지 않습니다. 이러한 브라우저 버전에서는 keyCode 속성을 사용할 수 있습니다. 그러나 keyCode 속성은 파이어폭스에서 onkeypress 이벤트에 대해 작동하지 않습니다. 다중 브라우저 솔루션을 위해 다음 코드를 사용할 수 있습니다:
var x = event.which || event.keyCode; // which 또는 keyCode를 사용하는지는 브라우저 지원에 따라 달라집니다
안내:모든 Unicode 문자의 목록은 우리의 완전 Unicode 참조。
안내:Unicode 값을 문자로 변환하려면 사용하세요 fromCharCode() 메서드。
비고:이 속성은 읽기 전용입니다。
비고:keyCode 및 which 속성은 호환성을 위해 제공되었습니다. 최신 버전의 DOM 이벤트 규약은 사용 가능한 경우 key 속성을 대신 사용하는 것을 권장합니다。
안내:키 이벤트가 발생할 때 "ALT"、"CTRL"、"META" 또는 "SHIFT" 키가 눌렸는지 알고 싶다면 사용하세요 altKey、ctrlKey、metaKey 또는 shiftKey 속성。
문법
event.which
기술 세부 사항
반환 값: | 숫자 값은 Unicode 문자 코드 또는 Unicode 키보드 코드를 나타냅니다。 |
---|---|
DOM 버전: | DOM Level 2 Events |
브라우저 지원
표에서의 숫자는 해당 속성을 최초로 지원하는 브라우저 버전을 나타냅니다。
속성 | 크롬 | IE | 파이어폭스 | 사파리 | 오페라 |
---|---|---|---|---|---|
which | 지원 | 9.0 | 지원 | 지원 | 지원 |
더 많은 예제
예제
onkeypress 및 onkeydown을 사용하여 문자 코드와 키보드 코드 간의 차이를 보여줍니다:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> function uniCharCode(event) { var char = event.which || event.keyCode; // event.keyCode는 IE8 및 이전 버전에서 사용됩니다 document.getElementById("demo").innerHTML = "유니코드 CHARACTER 코드: " + char; } function uniKeyCode(event) { var key = event.which || event.keyCode; // event.keyCode는 IE8 및 이전 버전에서 사용됩니다 document.getElementById("demo2").innerHTML = "유니코드 KEY 코드: " + key; }
키보드에서 "a" 키를 누를 때(char와 key의 결과는 다음과 같습니다):
유니코드 CHARACTER 코드: 97 유니코드 KEY 코드: 65
예제
Escape 키를 누르면 다음 텍스트를 표시합니다:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.which || event.keyCode; // event.keyCode는 IE8 및 이전 버전에서 사용됩니다 if (x == 27) { // 27은 ESC 키입니다 alert("Escape 키를 눌렀습니다!"); } }
예제
유니코드 값을 문자로 변환하십시오(기능 키에 적용되지 않음):
var x = event.which || event.keyCode; // 유니코드 값을 얻습니다 var y = String.fromCharCode(x); // 값을 문자로 변환
관련 페이지
HTML DOM 참조 설명서:KeyboardEvent key 속성
HTML DOM 참조 설명서:KeyboardEvent keyCode 속성
HTML DOM 참조 설명서:KeyboardEvent charCode 속성