Skip to content

 DOM Part 4: Events

1. What Are Events?

Events are actions that happen in the browser (click, scroll, keypress, input, etc.). You can run functions in response.

2. addEventListener()

Attach a function to run when an event occurs.

element.addEventListener("click", function () {
  console.log("Clicked");
});

Common events:

  • click
  • mouseover / mouseout
  • keydown / keyup
  • input
  • submit
  • change

3. Named Function Example

function greet() {
  console.log("Hello");
}

button.addEventListener("click", greet);

4. Arrow Function Example

button.addEventListener("click", () => {
  console.log("Clicked!");
});

5. Accessing the Event Object

Every event listener gets an event object with info about the action.

element.addEventListener("click", function (event) {
  console.log(event.target); // the element that was clicked
});

6. Prevent Default Behavior

Use event.preventDefault() to stop default actions like form submit or link navigation.

form.addEventListener("submit", function (e) {
  e.preventDefault();
  console.log("Form blocked");
});

7. Event Delegation

Listen to a parent and handle clicks from child elements using event.target.

document.querySelector("ul").addEventListener("click", function (e) {
  if (e.target.tagName === "LI") {
    e.target.classList.toggle("selected");
  }
});

8. Removing Event Listeners

function handler() {
  console.log("Removed after one use");
  btn.removeEventListener("click", handler);
}

btn.addEventListener("click", handler);

9. once Option

Automatically removes listener after first trigger.

btn.addEventListener("click", () => {
  console.log("Clicked once");
}, { once: true });