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" 키가 눌렸는지 알고 싶다면 사용하세요 altKeyctrlKeymetaKey 또는 shiftKey 속성。

예제

눌린 키보드 키의 Unicode 값을 가져옵니다:

var x = event.which;

페이지 아래에 더 많은 TIY 예제가 있습니다。

직접 시도해보세요

문법

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 속성