KeyDown zdarzenie gdy zostanie naciśnięty klawisz, a następnie natychmiast przypadku naciśnięcia klawisza. Następnie zdarzenie keyup jest generowane po zwolnieniu klucza.
Aby zrozumieć różnicę między keydown i naciśnięciu klawisza , warto rozróżnić znaków i kluczy . Klucz jest fizyczny przycisk na klawiaturze komputera. Znak jest symbolem wpisane przez naciśnięcie przycisku. Na klawiaturze amerykańskiej naciśnięcie 4klawisza i przytrzymanie Shiftklawisza zwykle powoduje powstanie znaku „dolara”. Nie musi tak być w przypadku każdej klawiatury na świecie. Teoretycznie zdarzenia keydown i keyup przedstawiają naciśnięcie lub zwolnienie klawiszy , a naciśnięcie klawiszaZdarzenie reprezentuje wpisywany znak. W praktyce nie zawsze jest to realizowane.
Przez chwilę niektórzy przeglądający uruchomili dodatkowe zdarzenie, o nazwie textInput , natychmiast po naciśnięciu klawisza . Wczesne wersje standardu DOM 3 miały to zastąpić zdarzenie naciśnięcia klawisza , ale cała koncepcja została później odwołana. Webkit obsługiwał to między wersjami 525 i 533 i powiedziano mi, że IE je wspierał, ale nigdy tego nie wykryłem , prawdopodobnie dlatego, że Webkit wymagał, aby nazywał się textInput, podczas gdy IE nazywał to textinput .
Istnieje również zdarzenie o nazwie input , obsługiwane przez wszystkie przeglądarki, które jest uruchamiane zaraz po zmianie w polu tekstowym lub polu wprowadzania. Zazwyczaj naciśnięcie klawisza będzie uruchamiane, następnie wpisany znak pojawi się w obszarze tekstowym, a następnie wprowadzony sygnał zostanie uruchomiony. Wejście wydarzenie w rzeczywistości nie daje żadnych informacji o tym, co zostało wpisane klucz - trzeba by zbadać pole tekstowe, aby zrozumieć to, co się zmieniło - tak naprawdę nie uważają jej kluczową zdarzenie i tak naprawdę nie dokumentują je tutaj . Chociaż pierwotnie został zdefiniowany tylko dla obszarów tekstowych i pól wprowadzania, uważam, że istnieje pewien ruch w kierunku uogólnienia go, aby strzelał także do innych typów obiektów.