bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/JavaScript/DOM and Browser APIs
JavaScript•DOM and Browser APIs

JavaScript Keyboard Events

Keyboard Events happen when the user presses a key on the keyboard:

  • keydown (key is pressed down)
  • keyup (key is released)
  • keypress (deprecated)

keypress only fires for character keys (a or 5), not for control keys (alt or backspace).

Developers are advised to use keydown or keyup instead.

Using event.key

Example

<input id="k" type="text" placeholder="Press a key"> <p id="demo"></p> <script> const k = document.getElementById("k");
// Let k listen for keydown k.addEventListener("keydown", function (event) { // Then display the event.key document.getElementById("demo").innerHTML = "You pressed: " + event.key;
});
</script>

Key Properties

The KeyboardEvent object provides useful properties to determine which key was involved in the event:

PropertyDescriptionWhen pressing Z
event.keyReturns the value of the key. Can vary based on language settings.Returns z (or Z if shift is held)
event.codeReturns the key code. Constant, regardless of language settings.Always returns "KeyZ"

You can also detect modifier keys using properties like event.ctrlKey, event.shiftKey, event.altKey, and event.metaKey to implement key combinations (e.g., Ctrl + S).

Using event.code

Runnable example

<input id="in01" type="text" placeholder="Press Enter"> <p id="demo"></p> <script> const in01 = document.getElementById("in01");
// Let in01 listen for keydown in01.addEventListener("keydown", function (event) { // If event.code was "enter", then display text
if (event.code === "Enter") {
  document.getElementById("demo").innerHTML = "Enter was pressed!";
}
});
</script>

Summary

JavaScript provides keyboard events to detect and handle user input from the keyboard, enabling interactive web experiences like form validation, game controls, and keyboard shortcuts.

Previous

JavaScript Mouse Events

Next

JavaScript Load Events

This chapter

Overview
16

Lessons

47m

Read time

1. The HTML DOM2. HTML DOM API3. Selecting DOM Elements4. HTML DOM - Changing HTML5. HTML DOM - Changing CSS6. HTML Form Validation7. HTML DOM Animation8. HTML DOM Document9. JavaScript Events10. JavaScript Mouse Events11. JavaScript Keyboard Events12. JavaScript Load Events13. JavaScript Timing Events14. JavaScript Event Management15. JavaScript HTML DOM Events16. JavaScript EventListener

On this page

Using event.keyKey PropertiesUsing event.codeSummary