What is the difference between these three events? Upon googling I found that:
- The
onKeyDown
event is triggered when the user presses a key.- The
onKeyUp
event is triggered when the user releases a key.- The
onKeyPress
event is triggered when the user presses & releases a key (onKeyDown
followed byonKeyUp
).
I understand the first two, but isn't onKeyPress
the same as onKeyUp
? Is it possible to release a key (onKeyUp
) without pressing it (onKeyDown
)?
This is a bit confusing, can someone clear this up for me?
KeyPress
, KeyUp
and KeyDown
are analogous to, respectively: Click
, MouseUp,
and MouseDown
.
Down
happens firstPress
happens second (when text is entered)Up
happens last (when text input is complete).keydown
keypress
textInput
keyup
Below is a snippet you can use to see for yourself when the events get fired:
window.addEventListener("keyup", log);
window.addEventListener("keypress", log);
window.addEventListener("keydown", log);
function log(event){
console.log( event.type );
}