e.which에 대한 고찰
2022. 8. 25. 17:21ㆍJS
게임 프로젝트를 인강 보면서 만들다가
e.which (event.which)에 대한 내용을 간략하게 적어보려 한다.
/* 코드를 작성하세요 */
const key = {
keyDown : {},
keyValue : {
37: 'left',
38: 'up',
39: 'right',
40: 'down'
}
}
// 1. 윈도우 이벤트 = 키, 마우스등의 이벤트
// e.which = 키값 보기 위한 코드
const windowEvent = () => {
window.addEventListener('keydown',(e) => {
console.log(e.which);
key.keyDown[key.keyValue[e.which]] = true;
console.log(key.keyDown);
});
window.addEventListener('keyup',(e) => {
key.keyDown[key.keyValue[e.which]] = false;
console.log(key.keyDown);
});
}
const init = () => {
windowEvent();
}
// 모든 요소 로드후 게임 실행
window.onload = () => {
init();
}
keydown (키를 눌렀을경우) 이벤트 시
console.log에 e.which가 있다.
e.which란 해당 키를 눌렀을 경우 번호가 어떤것인지 추출할수 있다.
하지만 mdn 에선 현재 권장하고 있지 않는듯 하나. 사용 하는덴 아직까진 문제가 없는듯하다.
현재는 e.key나 e.code 사용을 권장하고 있으나
이것들은 번호를 추출하는게 아니고 왼쪽 화살표키라면
ArrowLeft 이런식으로 추출이 되는 방식이다.
참고링크
http://daplus.net/javascript-keycode%EC%99%80-which/
https://developer.mozilla.org/ko/docs/Web/API/KeyboardEvent/key
https://developer.mozilla.org/ko/docs/Web/API/KeyboardEvent/code
'JS' 카테고리의 다른 글
[펌] 반응형 슬라이더 Swiper (사용 방법/예제) 웹퍼블리싱 - 마우스 롤링 (0) | 2022.06.22 |
---|---|
지역 선택 JS로 제어하기 (0) | 2022.02.07 |
[Javascript] input 박스에 숫자만 입력되도록 설정하는 4가지 방법 (0) | 2022.02.04 |
DOM은 무엇인가? DOM Node와 Element의 차이 (0) | 2021.07.29 |
[Javascript] typeof 와 instanceof의 차이, 타입 또는 클래스 구분하기 (0) | 2021.07.29 |