JavaScript Events

In JavaScript, events are actions or occurrences that happen in the browser, such as clicking a button, hovering over an element, or submitting a form. Events allow you to execute a function in response to user interactions or other triggers.

Common Event Types

  1. Mouse Events
  2. Keyboard Events
  3. Form Events
  4. Window Events
  5. Touch Events

1. Mouse Events

Mouse events are triggered by mouse actions.

  • click: Triggered when an element is clicked.
  • dblclick: Triggered when an element is double-clicked.
  • mouseover: Triggered when the mouse pointer is moved over an element.
  • mouseout: Triggered when the mouse pointer moves out of an element.
  • mousemove: Triggered when the mouse pointer is moving while it is over an element.

Example:

<button onclick="alert('Button clicked!')">Click Me</button>

Try It Now

document.getElementById("myButton").addEventListener("click", function() {
    alert("Button was clicked!");
});

Try It Now

2. Keyboard Events

Keyboard events are triggered by pressing keys on the keyboard.

  • keydown: Triggered when a key is pressed down.
  • keyup: Triggered when a key is released.
  • keypress: Triggered when a key is pressed and released (deprecated).

Example:

document.addEventListener("keydown", function(event) {
    console.log("Key pressed: " + event.key);
});

Try It Now

 

3. Form Events

Form events are triggered by actions on form elements.

  • submit: Triggered when a form is submitted.
  • change: Triggered when the value of an input element changes.
  • focus: Triggered when an element gains focus.
  • blur: Triggered when an element loses focus.

Example:

<form id="myForm">
    <input type="text" name="username">
    <button type="submit">Submit</button>
</form>

Try It Now

document.getElementById("myForm").addEventListener("submit", function(event) {
    event.preventDefault();  // Prevent form submission
    alert("Form submitted!");
});

Try It Now

4. Window Events

Window events are triggered by actions on the browser window.

  • load: Triggered when the window has finished loading.
  • resize: Triggered when the window is resized.
  • scroll: Triggered when the window is scrolled.

Example:

window.addEventListener("load", function() {
    console.log("Window loaded!");
});

Try It Now

5. Touch Events

Touch events are triggered by touch actions on touch-enabled devices.

  • touchstart: Triggered when a touch is detected.
  • touchmove: Triggered when a touch is moved.
  • touchend: Triggered when a touch is released.

Example:

document.addEventListener("touchstart", function(event) {
    console.log("Touch started!");
});

Try It Now

Adding Event Listeners

You can use addEventListener() to add an event listener to an element.

document.getElementById("myButton").addEventListener("click", function() {
    alert("Button clicked!");
});

Try It Now

Removing Event Listeners:

document.getElementById("myButton").removeEventListener("click", function);

Try It Now

Event Object

When an event occurs, an event object is automatically passed to the event handler, containing useful information about the event.

document.getElementById("myButton").addEventListener("click", function(event) {
    console.log("Event type: " + event.type);
    console.log("Target element: " + event.target);
});

Try It Now

Event Delegation

Event delegation involves adding an event listener to a parent element to handle events for its child elements.

document.getElementById("parentDiv").addEventListener("click", function(event) {
    if (event.target && event.target.matches("button.classname")) {
        alert("Button inside parent div clicked!");
    }
});

Try It Now

Conclusion

JavaScript events are a core part of creating interactive web applications. By understanding and using events effectively, you can create dynamic, responsive user interfaces that respond to user input and provide a richer user experience.