Chrome에서 Keydown 시뮬레이션을 위한 키코드를 올바르게 지정하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-18 13:13:02
원래의
579명이 탐색했습니다.

How to Correctly Specify Keycodes for Keydown Simulations in Chrome?

Chrome의 Keydown 시뮬레이션: 올바른 키를 지정하기 위한 매개변수

Chrome의 특정 텍스트 영역 요소에 대한 keydown 이벤트를 시뮬레이션하려면 initKeyboardEvent 메서드를 활용해야 합니다. 그러나 제공한 초기 코드는 의도한 m 키코드 대신 Enter 키코드라는 다른 결과를 받았습니다.

이를 수정하려면 keyCode와 KeyboardEvent 객체의 which 속성을 모두 재정의해야 합니다. 업데이트된 코드는 다음과 같습니다.

<code class="javascript">var keyEvent = document.createEvent('KeyboardEvent');

// Override both keyCode and which
Object.defineProperty(keyEvent, 'keyCode', {
  get: function() {
    return this.keyCodeVal;
  }
});
Object.defineProperty(keyEvent, 'which', {
  get: function() {
    return this.keyCodeVal;
  }
});

keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0);
keyEvent.keyCodeVal = 77;
inputNode.dispatchEvent(keyEvent);</code>
로그인 후 복사

두 속성을 모두 재정의하면 브라우저가 올바른 키코드 값을 수신하도록 할 수 있습니다. 이 솔루션은 지정된 키에 대한 keydown 이벤트를 효과적으로 시뮬레이션하여 원하는 기능을 달성할 수 있도록 해줍니다.

위 내용은 Chrome에서 Keydown 시뮬레이션을 위한 키코드를 올바르게 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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