모든 브라우저 키 이벤트를 잘 설명합니다.
를 keyDown 이벤트가 키를 누를 경우, 키 누름 이벤트 바로 뒤에 발생한다. 그런 다음 키를 놓을 때 키업 이벤트가 생성됩니다.
사이의 차이를 이해하기 를 keyDown 과 키를 누를 수 , 그것을 구별하는 데 유용합니다 문자 와 키 . 키는 컴퓨터 키보드의 물리적 버튼입니다. 문자 버튼을 눌러 입력 한 상징이다. 미국 키보드에서 4키를 누른 상태에서 Shift키를 누르면 일반적으로 "달러 기호"문자가 생성됩니다. 전 세계 모든 키보드에서 반드시 그런 것은 아닙니다. 이론적으로 keydown 및 keyup 이벤트는 키를 누르거나 놓는 동안 키 누르기를 나타냅니다이벤트는 입력되는 문자를 나타냅니다. 실제로 이것이 항상 구현되는 것은 아닙니다.
잠시 동안 일부 브라우저는 keypress 직후에 textInput 이라는 추가 이벤트를 시작했습니다 . DOM 3 표준의 초기 버전은 이것을 키 누르기 이벤트 의 대체물로 의도 했지만 나중에 전체 개념이 취소되었습니다. Webkit은 버전 525와 533 사이에서 이것을 지원했으며 IE가 그것을 지원한다고 말했지만 IE가 textinput 이라고하는 동안 Webkit이 textInput 이라고 요구했기 때문에 나는 그것을 감지하지 못했습니다 .
모든 브라우저에서 지원하는 input 이라는 이벤트도 있습니다.이 이벤트 는 텍스트 영역 또는 입력 필드 를 변경 한 직후에 발생 합니다. 일반적으로 키를 누르면 텍스트 영역에 입력 한 문자가 나타나고 입력이 시작됩니다. 입력 이벤트는 실제로 키가 입력 있었는지에 대한 정보를 제공하지 않습니다 - 당신이 변경 무엇을 알아 내기 위해 텍스트 상자를 검사해야 할 것 - 우리가 정말 그것을 키 이벤트를 고려하지 않도록 정말 여기를 문서화하지 않습니다 . 원래 텍스트 영역과 입력 상자에 대해서만 정의되었지만 다른 유형의 객체에서도 실행되도록 일반화하는 데 약간의 움직임이 있다고 생각합니다.