예
는 어떤 키가 눌렸는지 보여줍니다.
$("input").keydown(function(event){
$("div").html("Key: " event.which);
});
직접 시도해 보세요
정의 및 사용법
which 속성은 어떤 키나 버튼을 눌렀는지 나타냅니다.
구문
event.which 매개변수 설명
event 필수입니다. 확인할 이벤트를 지정합니다. 이벤트 매개변수는 이벤트 바인딩 함수에서 가져옵니다.
jQuery는 표준 버튼 속성을 폐기하는데, 이는 다소 혼란스럽습니다.
Firefox에서 도입되었으며 IE에서는 지원되지 않습니다. 원래 의도는 키보드의 키 값(keyCode)을 얻는 것입니다.
jQuery에서는 키보드의 키 값이 될 수도 있고 마우스의 키 값이 될 수도 있습니다.
즉, 사용자가 키보드의 어떤 키를 눌렀는지 확인할 때 사용할 수 있고, 마우스의 어떤 키를 눌렀는지 확인할 때도 사용할 수 있습니다. 그것은 두 가지 목적으로 사용됩니다.
소스코드:
// 추가 주요 이벤트의 경우
if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {
event.which = event.charCode != null ? charCode : event.keyCode;
}
// 클릭에 대해 추가: 1 === left; 2 === middle; 3 === right
// 버튼은 정규화되지 않았습니다. 사용하지 마세요
if ( !event.which && event.button !== undefine ) {
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
}
표준 버튼은 0,1,2를 사용하여 마우스 왼쪽, 가운데, 오른쪽 버튼을 나타냅니다. 1,2,3을 사용하는 jQuery입니다.
또 다른 불편한 점은 jQuery 문서 이벤트에 마우스 버튼 값을 나타낼 수 있는 내용은 언급되지 않고 키보드 버튼 값만 언급된다는 점입니다.
소스 코드의 주석도 오해의 소지가 있습니다.
// 클릭에 대한 추가: 1 === 왼쪽; 3 === 오른쪽
클릭 이벤트를 사용하는 것은 쉽습니다. 사실 클릭 이벤트가 잘못되었습니다.
아래 클릭 이벤트를 사용해 보세요:
< ;!DOCTYPE html>
< ;body>