KeyboardEvent 속성 _
예시
누른 키보드 키의 유니코드 값을 가져옵니다.
var x = event.which;
아래에서 더 많은 "직접 사용해 보기" 예를 살펴보세요.
정의 및 사용
which 속성은 onkeypress 이벤트를 트리거한 키의 유니코드 문자 코드 또는 onkeydown 또는 onkeyup 이벤트를 트리거한 키의 유니코드 키 코드를 반환합니다.
두 코드 유형의 차이점:
- 문자 코드 - ASCII 문자를 나타내는 숫자
- 키 코드 - 키보드의 실제 키를 나타내는 숫자
이러한 유형이 항상 같은 것을 의미하는 것은 아닙니다. 예를 들어, 소문자 "w"와 대문자 "W"는 동일한 키보드 코드를 갖습니다. 왜냐하면 키보드에서 누르는 키가 동일하기 때문입니다(단지 "W" = 숫자 "87"). 그러나 다른 결과 문자가 다르기 때문에 문자 코드("119" 또는 "87"인 "w" 또는 "W") - 더 잘 이해하려면 아래의 "추가 예"를 참조하십시오.
팁: 사용자가 인쇄 가능한 키(예: "a" 또는 "5")를 누르고 있는지 확인하려면 onkeypress 이벤트에서 이 속성을 사용하는 것이 좋습니다. 사용자가 기능 키(예: "F1", "CAPS LOCK" 또는 "Home")를 누르고 있는지 알아보려면 onkeydown 또는 onkeyup 이벤트를 사용하십시오.
참고: which 속성은 IE8 및 이전 버전에서 지원되지 않습니다. 이러한 브라우저 버전의 경우 keyCode 속성을 사용할 수 있습니다. 그러나 keyCode 속성은 Firefox의 onkeypress 이벤트에서 작동하지 않습니다. 브라우저 간 솔루션의 경우 다음 코드를 사용할 수 있습니다.
var x = event.which || event.keyCode; // Use either which or keyCode, depending on browser support
팁: 모든 유니코드 문자 목록은 전체 유니 코드 참조 문서를 참조 하십시오.
팁: 반환된 유니코드 값을 문자로 변환하려면 fromCharCode() 메서드를 사용하세요.
참고: 이 속성은 읽기 전용입니다.
참고: which 및 keyCode 속성은 호환성을 위해서만 제공됩니다. 최신 버전의 DOM 이벤트 사양에서는 대신 키 속성을 사용할 것을 권장합니다(사용 가능한 경우).
팁: 키 이벤트가 발생할 때 "ALT", "CTRL", "META" 또는 "SHIFT" 키가 눌렸는지 확인하려면 altKey , ctrlKey , metaKey 또는 shiftKey 속성을 사용하십시오.
브라우저 지원
표의 숫자는 속성을 완전히 지원하는 첫 번째 브라우저 버전을 지정합니다.
Property | |||||
---|---|---|---|---|---|
which | Yes | 9.0 | Yes | Yes | Yes |
통사론
event.which
기술적 세부 사항
반환 값: | 유니코드 문자 코드 또는 유니코드 키 코드를 나타내는 숫자 |
---|---|
DOM 버전: | DOM 레벨 2 이벤트 |
더 많은 예
예시
onkeypress 및 onkeydown을 사용하여 문자 코드와 키보드 코드 간의 차이점을 보여줍니다.
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)">
function uniCharCode(event) {
var char = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
}
function uniKeyCode(event) {
var key = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}
키보드에서 "a" 키를 누르면(caps lock을 사용하지 않음) char 및 key 의 결과는 다음과 같습니다.
Unicode CHARACTER code: 97
Unicode KEY code: 65
예시
사용자가 Esc 키를 누르면 일부 텍스트 경고:
<input type="text" onkeydown="myFunction(event)">
function myFunction(event) {
var x = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
if (x == 27) { // 27 is the ESC key
alert ("You pressed the Escape key!");
}
}
예시
유니코드 값을 문자로 변환합니다(기능 키에는 작동하지 않음):
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
관련 페이지
HTML DOM 참조: KeyboardEvent 키 속성
HTML DOM 참조: KeyboardEvent keyCode 속성
HTML DOM 참조: KeyboardEvent charCode 속성