자바 스크립트 이벤트 e. 어느?
javascript event e.which의 기능은 무엇입니까? 예를 들어 간략히 설명해주세요.
e.which
은 이벤트가 아니며 대부분의 사람들 이 이벤트 처리기에서 레이블 which
을 지정하는 event
개체 의 속성입니다 e
. 여기에는 이벤트를 트리거하기 위해 누른 키의 키 코드가 포함됩니다 (예 : keydown, keyup).
document.onkeypress = function(myEvent) { // doesn't have to be "e"
console.log(myEvent.which);
};
이 코드로 콘솔은 키보드에서 누르는 키의 코드를 인쇄합니다.
which
Event
객체 의 속성입니다 . 대부분의 브라우저에서 키 관련 및 마우스 관련 이벤트에 대해 정의되지만 두 경우 모두 IE (버전 9 이전)에서는 정의되지 않습니다.
마우스 관련 이벤트의 경우 관련된 which
마우스 버튼을 지정합니다. IE <9의 경우 동등한 값이 window.event.button
. 복잡하게하기 위해 비 IE 브라우저는 button
때때로 .NET Framework와 다른 값을보고하는 마우스 이벤트 속성 도 지원합니다 which
. 또한 브라우저는 때때로 동일한 버튼 또는 버튼 조합에 대해 다른 값을 갖습니다. 사용에 충실 경우 which
를 지원하는 모든 브라우저와 button
IE <9, 하나 개의 상수 (하지만 반드시 단독) 1의 값은 항상 마우스 왼쪽 버튼이 포함 된 의미이다.
document.onmousedown = function(e) {
e = e || window.event;
var button = (typeof e.which != "undefined") ? e.which : e.button;
if (button == 1) {
alert("Left mouse button down");
}
};
전체 분석을 위해 JavaScript 마우스 이벤트에 대한 Jan Wolter의 기사를 추천 합니다 .
키 관련 이벤트의 경우 누른 키와 관련 which
됩니다. 의 경우 keydown
와 keyup
사건이 비교적 간단하다 : 그것은 키를 누를의 키 코드, 그리고 이벤트의 같은 값 반환 keyCode
속성을. 모든 브라우저가 keyCode
속성을 지원 하고 IE <9는를 지원하지 않으므로 which
일반적으로 keyCode
for keydown
및 keyup
이벤트를 사용해야 합니다.
의 경우 keypress
이벤트, 상황은 더 복잡하다. 인쇄 가능한 문자 키의 경우 which
눌린 키의 문자 코드이며 charCode
속성 보다 더 많은 브라우저에서 지원됩니다 . IE <9에서 동등한 것은 다시 keyCode
속성입니다. 따라서 입력 된 문자를 감지하기 위해 다음은 브라우저 간 접근 방식입니다. 아래 코드는 화살표 키와 같이 인쇄 할 수없는 키에 사용해서는 안됩니다. 대신 keydown
이벤트 에서 감지해야합니다 .
document.onkeypress = function(e) {
e = e || window.event;
var charCode = (typeof e.which == "number") ? e.which : e.keyCode;
if (charCode) {
alert("Character typed: " + String.fromCharCode(charCode));
}
};
다시 한 번 더 자세한 내용은 JavaScript 키 이벤트에 대한 Jan Wolter의 기사를 추천 합니다.
이 기능은 웹 표준에서 제거되었습니다. 일부 브라우저는 여전히 지원할 수 있지만 삭제 중입니다. 이전 또는 새 프로젝트에서 사용하지 마십시오. 이를 사용하는 페이지 또는 웹 앱은 언제든지 중단 될 수 있습니다.
KeyboardEvent.key
가능한 경우 대신 사용해야 합니다.
http://codepen.io/KevinOrfas/pen/QKbKAd
이벤트 중 e
:
e.which
다음과 같습니다.
e.keyCode
따라서 두 기능 모두 키 누르기, keydown 또는 keyup 이벤트 중에 누른 키의 키 코드를 얻을 수 있습니다.
많은 사람들이 ||
(OR)을 사용하여 코드가 어떤 속성을 지원하지 않는 브라우저에서 작동하는지 확인합니다. 아래 코드를보십시오.
document.onkeypress = function(e) {
var key = e.which || e.keyCode;
alert(key);
}
참고 URL : https://stackoverflow.com/questions/3050984/javascript-event-e-which
'Programing' 카테고리의 다른 글
AngularJS 지시문은 범위 변수 변경시 업데이트되지 않습니다. (0) | 2020.11.14 |
---|---|
Linux에서 데몬 로그인 (0) | 2020.11.14 |
UILabel 텍스트 색상을 변경할 수 없습니다. (0) | 2020.11.13 |
클래스 라이브러리 용 app.config (0) | 2020.11.13 |
파이썬 : 집합의 항목을 하나의 문자열로 결합하는 방법은 무엇입니까? (0) | 2020.11.13 |