• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    해결됨

e.keyCode 질문

21.05.17 14:57 작성 조회수 634

0

vscode에서 사용은되지만 줄그어지길래 보니까 duplicated 되었다는데. 최근에는

다른방식으로 사용하나요?? 

비슷한 속성값인데 문자열로 출력되는 key 속성이 있던데 이걸많이사용하는지..

답변 2

·

답변을 작성해보세요.

2

김현지님의 프로필

김현지

2021.05.17

안녕하세요, Amen님!

keyCode 기능은 더 이상 권장되지 않습니다. 일부 브라우저에서는 여전히 동작할 수 있지만, 이미 관련 웹 표준에서 제거되었을 수 있으며 삭제되는 과정에 있거나 호환성 목적으로만 보관할 것입니다

사용을 피하시고 가능한 경우 기존 코드를 업데이트하셔야 합니다.

duplicated된 기능은 가급적으로 사용하지 않으시는 것이 좋습니다. 

대체안으로 KeyboardEvent.code 가 사용된다고 합니다.

keyCode 문서는 여기 를 참고해주세요.

대체안인 KeyboardEvent.code 문서는 이 곳 을 참고해주시면 됩니다 :)

밑에는 예제 코드입니다 ! 참고해주세요 .

window.addEventListener("keydown", function(event) {
  if (event.defaultPrevented) {
    return; // Do nothing if event already handled
  }

  switch(event.code) {
    case "KeyS":
    case "ArrowDown":
      // Handle "back"
      updatePosition(-moveRate);
      break;
    case "KeyW":
    case "ArrowUp":
      // Handle "forward"
      updatePosition(moveRate);
      break;
    case "KeyA":
    case "ArrowLeft":
      // Handle "turn left"
      angle -= turnRate;
      break;
    case "KeyD":
    case "ArrowRight":
      // Handle "turn right"
      angle += turnRate;
      break;
  }
Amen님의 프로필

Amen

질문자

2021.05.21

자세한 답변 감사드립니다 ( __ ) 

0

Ryan Lee님의 프로필

Ryan Lee

2021.06.13

e.key === 'ArrowLeft' 와 e.key === 'ArrowRight'로 해결하면 되는군요!