Question 65
Question
Explain the difference between EventTarget.dispatchEvent() and EventTarget.addEventListener().
Answer
1. EventTarget.addEventListener():
Purpose: Registers a function (a "listener") that will be called when a specific type of event occurs on an
EventTargetobject (e.g., a button, a div, the entire document).How it works: You provide:
The type of event you want to listen for (e.g., 'click', 'mouseover', 'submit').
A callback function that will execute when the event happens. This function typically receives the
eventobject as an argument, giving you information about what happened and how to respond.Optional options: You can specify things like whether to listen for the event only once (
once: true), or in a particular "capture" phase of event bubbling (capturePhase).
2. EventTarget.dispatchEvent():
Purpose: Triggers (or "dispatches") an event on an
EventTargetobject. This means you are manually initiating an event.How it works: You create an
Eventobject and pass it to thedispatchEvent()method. The event will bubble up through the DOM tree (ifbubbles: trueis set), triggering any listeners that have been registered for that type of event.
Analogy:
Think of addEventListener() as setting up a trap, waiting for a specific kind of event to happen.
When dispatchEvent() is called, it's like throwing a ball (the event) into the air. The ball will bounce around and activate any traps (listeners) it hits along the way.
Last updated