728x90
legacy한 keyCode
자바스크립트로 키보드 이벤트를 구현하던 와중 궁금증이 생겼습니다.
간단하게 Alt키를 눌렀을 경우를 체크하려는데 keyCode 부분에 이건 아니라는 듯이 줄이 쫙 그어져 있는 문제였죠. 코드를 실행하면 정상적으로 동작은 하지만 찜찜해서 찾아봤습니다.
취소선에 마우스를 가져가면 다음과 같은 메시지를 볼 수 있습니다. 'keycode' is deprecated를 구글에 검색해봤습니다. stack overflow에 이미 관련 질문이 있더군요.
I'd suggest that you should use the new event.key and event.code properties instead of the legacy ones.
답변을 요약하면 keyCode 보다 key나 code를 사용할 것을 권장한다고 하는군요.
값이 다르다..?
keyCode 대신 key로 변경해서 사용하면 될까요?? 글쎄요... 저는 되리라고 생각했으나 키를 인식하지 못하더군요. 설마.. 값이 다른가 싶어서 찾아봤습니다.
Key values 링크 : developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values
링크에서 원하는 키 값을 찾아봅시다. 제가 필요한 Alt키의 값은 "Alt"가 됩니다.
즉 위의 사진처럼 구현해주면 예전 keyCode==18과 동일하게 동작을 합니다.
추가로 event.key == "Alt" 대신 event.altKey로 사용가능합니다.
이에 관한 링크는 im-developer.tistory.com/20 입니다.
728x90
'web > javascript' 카테고리의 다른 글
자바스크립트 폴리필과 트랜스파일 (0) | 2024.03.30 |
---|---|
부트스트랩 이용 모달(팝업)창을 띄우고 오늘 하루 더 이상 보지 않기 기능 추가하기 (2) | 2021.05.16 |
[javascript] 크롬 확장 프로그램 이벤트 추가 (0) | 2021.02.09 |