> 웹 프론트엔드 > JS 튜토리얼 > 키 이벤트를 사용하여 JavaScript에서 화살표 키 입력을 처리하는 방법은 무엇입니까?

키 이벤트를 사용하여 JavaScript에서 화살표 키 입력을 처리하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-03 00:07:03
원래의
676명이 탐색했습니다.

How to Handle Arrow Key Input in JavaScript Using Key Events?

키 이벤트를 사용하여 Javascript에서 화살표 키 입력 처리

화살표 키 입력을 감지하고 처리하는 것은 웹 개발의 다양한 시나리오에 유용할 수 있습니다. 이는 브라우저에 내장된 키 이벤트 처리 기능을 통해 달성할 수 있습니다.

Javascript 키 이벤트를 사용한 솔루션:

제공된 Javascript 코드는 document.onkeydown을 활용합니다. 키 누름을 수신하는 이벤트 핸들러. 키를 누르면 event.which 속성을 사용하여 키 코드를 결정합니다. 화살표 키 코드는 다음 값에 해당합니다.

  • 왼쪽 화살표: 37
  • 위쪽 화살표: 38
  • 오른쪽 화살표: 39
  • 아래쪽 화살표 : 40

switch 문은 이러한 키 코드를 처리하고 각 키 누르기에 대한 사용자 정의 논리를 정의할 수 있도록 합니다.

세부 구현:

<code class="javascript">document.onkeydown = function(e) {
    switch(e.which) {
        case 37: // left
        break;

        case 38: // up
        break;

        case 39: // right
        break;

        case 40: // down
        break;

        default: return; // exit this handler for other keys
    }
    e.preventDefault(); // prevent the default action (scroll / move caret)
};</code>
로그인 후 복사

추가 고려 사항:

  • Internet Explorer 8 지원을 위해 함수 시작 부분을 다음과 같이 수정합니다. e = e || 창.이벤트; switch(e.which || e.keyCode) {}
  • 2020년부터 KeyboardEvent.which는 더 이상 사용되지 않습니다. 보다 현대적인 솔루션을 위해서는 KeyboardEvent.key를 사용하세요:
<code class="javascript">document.onkeydown = function(e) {
    switch(e.key) {
        case "ArrowLeft": // left
        break;

        case "ArrowUp": // up
        break;

        case "ArrowRight": // right
        break;

        case "ArrowDown": // down
        break;

        default: return; // exit this handler for other keys
    }
    e.preventDefault(); // prevent the default action (scroll / move caret)
};</code>
로그인 후 복사

위 내용은 키 이벤트를 사용하여 JavaScript에서 화살표 키 입력을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿