To develop a feature in JavaScript, I started by looking into the events related to the keyboard. I found three events : keypress, keydown, keyup.
keypress was only happening when the user pressed a char key, and I also needed to get the event when the user uses the supr button. So I thought I would use keydown instead.
The event was fired when I pressed any key, however, the problem I faced is that when I pressed down on char key I needed to get that char and save it in a variable. I noticed that the first char was only saved at the second time the event was fired, the second char at the third event and so on. I couldn’t understand this gap.
After some debugging and talking about that with a colleague, I understood that the event keydown was happening too early, it was fired before the char get saved in my variable. So instead of using keydown I used keyup, and it worked perfectly fine.
Summary
- keypress : The keypress event is fired when a key that produces a character value is pressed down (Deprecated)
- keydown : The keydown event is fired when any key is pressed down, the event occur very soon.
- keyup : The keyup event is fired when any key is pressed up, the event occur after keydown.