In the previous lesson we’ve seen how to handle mouse and touch events.
Let’s now dive into keyboard events.
There are 3 types of events when interacting with keyboard events:
keydown
the keyboard key has been pressedkeyup
the keyboard key has been released
keydown
is also fired when the key repeats while the button stays pressed.
While mouse and touch events are typically listened on a specific element, it’s common to listen for keyboard events on the document:
document.addEventListener('keydown', event => {
// key pressed
})
The parameter passed to the event listener is a KeyboardEvent.
This event object, in addition to the Event object properties offers us (among others) these unique properties:
altKey
true if alt key was pressed when the event was firedcode
the code of the key pressed, returned as a stringctrlKey
true if ctrl key was pressed when the event was firedkey
the value of the key pressed, returned as a stringlocale
the keyboard locale valuelocation
the location of the key on the keyboardmetaKey
true if meta key was pressed when the event was firedrepeat
true if the key has been repeated (e.g. the key has not been released)shiftKey
true if shift key was pressed when the event was fired
The demo is a keylogger which will show you the values of some of the properties I listed above.
I made a video of building it:
Click inside the demo and type something:
See the Pen Key logger demo by Flavio Copes (@flaviocopes) on CodePen.