>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 `onKeyDown`, `onKeyPress` 및 `onKeyUp` 키보드 이벤트의 차이점은 무엇입니까?

JavaScript의 `onKeyDown`, `onKeyPress` 및 `onKeyUp` 키보드 이벤트의 차이점은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-28 08:25:15570검색

What's the Difference Between JavaScript's `onKeyDown`, `onKeyPress`, and `onKeyUp` Keyboard Events?

키보드 이벤트의 미묘한 차이 이해: onKeyPress와 onKeyUp 및 onKeyDown

JavaScript에서 키보드 이벤트로 작업할 때 onKeyPress, onKeyUp 및 onKeyDown을 구별하는 것이 중요합니다. 이벤트. 이러한 이벤트는 비슷해 보이지만 서로 다른 목적을 가지고 있습니다.

onKeyDown 및 onKeyUp:

  • 설명된 대로 onKeyDown은 키를 처음 누를 때 트리거됩니다. onKeyUp은 키를 놓을 때 발생합니다. 이러한 이벤트는 키가 활발하게 사용되는 시기에 대한 귀중한 정보를 제공합니다.

onKeyPress:

  • onKeyUp과 달리 onKeyPress는 더 이상 사용되지 않는 이벤트이며 onKeyDown으로 대체되었습니다. 그러나 키를 눌렀다가 놓을 때 onKeyDown 이후에 발생한다는 점에서 onKeyUp과도 유사합니다.

WebKit의 예외:

  • In WebKit 브라우저의 경우 onKeyPress와 onKeyUp 사이에 오는 textInput이라는 추가 이벤트가 있습니다. 이 이벤트는 특히 텍스트 입력과 관련이 있으며 문자 입력 시기를 감지하는 데 도움이 됩니다.

설명 데모:

이러한 이벤트의 순서를 명확하게 시각화하려면, 다음 코드 조각을 시도해 보십시오.

window.addEventListener("keyup", log);
window.addEventListener("keypress", log);
window.addEventListener("keydown", log);

function log(event){
  console.log(event.type);
}

입력 필드에 텍스트를 입력하면 콘솔에 기록되는 이벤트 순서는 다음과 같습니다.

1. keydown - 초기 키 누름을 나타냅니다
2. keypress(지원되는 경우) - keydown과 유사하며 키를 누르고 있을 때 발생합니다
3. textInput(WebKit 전용) - 텍스트 입력 추적
4. keyup - 키 해제를 나타냅니다

위 내용은 JavaScript의 `onKeyDown`, `onKeyPress` 및 `onKeyUp` 키보드 이벤트의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.