Skip to content
Home » Forum

Forum

Mastering JavaScrip...
 
Notifications
Clear all

Mastering JavaScript Event Listeners

1 Posts
1 Users
0 Reactions
53 Views
Mark Sikaundi
(@emmanuelmark117)
Member Admin
Joined: 2 years ago
Posts: 101
Topic starter  

JavaScript event listeners allow you to execute a block of code in response to specific events occurring in the browser. These events can be triggered by user interactions (like clicks, key presses, and mouse movements) or by actions that happen on a webpage (such as page load or a network request completion). Event listeners make your web pages dynamic by responding to these events.

1. addEventListener() Method

The addEventListener() method is the most common way to register event listeners. It allows multiple listeners for the same event type on the same element without overwriting the existing listeners.

Sytax

element.addEventListener(event, function, useCapture);
  • event: The type of the event (e.g., "click", "mouseover").
  • function: The function that should be executed when the event occurs.
  • useCapture (optional): A boolean that defines whether the event should be captured in the capturing phase (true) or the bubbling phase (false).

Example:

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

2. List of Common JavaScript Events

Here’s a list of common events you can listen for using addEventListener().

Mouse Events

Event Description
click Triggered when an element is clicked.
dblclick Triggered on a double-click.
mousedown Triggered when the mouse button is pressed.
mouseup Triggered when the mouse button is released.
mouseover Triggered when the mouse pointer enters an element.
mouseout Triggered when the mouse pointer leaves an element.
mousemove Triggered when the mouse pointer moves within an element.
mouseenter Triggered when the pointer moves into an element (without bubbling).
mouseleave Triggered when the pointer leaves an element (without bubbling).
contextmenu Triggered by a right-click on the mouse.

Keyboard Events

Event Description
keydown Triggered when a key is pressed down.
keypress Triggered when a key is pressed down (deprecated, use keydown).
keyup Triggered when a key is released.

Form Events

Event Description
submit Triggered when a form is submitted.
change Triggered when the value of an input, select, or textarea changes.
input Triggered when the value of an <input> or <textarea> changes.
focus Triggered when an element gains focus.
blur Triggered when an element loses focus.
reset Triggered when a form is reset.

Window Events

Event Description
load Triggered when a page is fully loaded.
unload Triggered when a page is unloaded or closed.
scroll Triggered when the user scrolls the document or an element.
resize Triggered when the browser window is resized.

Clipboard Events

Event Description
copy Triggered when content is copied to the clipboard.
cut Triggered when content is cut.
paste Triggered when content is pasted.

Touch Events (for touch devices)

Event Description
touchstart Triggered when a finger touches the screen.
touchmove Triggered when a finger moves on the screen.
touchend Triggered when a finger is removed from the screen.
touchcancel Triggered when the touch is interrupted.

Drag Events

Event Description
drag Triggered continuously while an element is dragged.
dragstart Triggered when the user starts dragging an element.
dragend Triggered when the user finishes dragging an element.
dragenter Triggered when the dragged element enters a drop target.
dragleave Triggered when the dragged element leaves a drop target.
dragover Triggered when an element is dragged over a drop target.
drop Triggered when the dragged element is dropped.

Media Events

Event Description
play Triggered when media (audio or video) starts playing.
pause Triggered when media is paused.
ended Triggered when media has finished playing.
volumechange Triggered when the volume of the media changes.

Focus Events

Event Description
focus Triggered when an element gains focus.
blur Triggered when an element loses focus.
focusin Triggered when an element is about to gain focus.
focusout Triggered when an element is about to lose focus.

Others

Event Description
error Triggered when there is an error in loading or script execution.
wheel Triggered when the mouse wheel is scrolled.
beforeunload Triggered when the page is about to be unloaded.
animationstart Triggered when a CSS animation starts.
animationend Triggered when a CSS animation ends.
transitionend Triggered when a CSS transition ends.

3. Removing Event Listeners

To remove an event listener, you use the removeEventListener() method. The event listener must be a named function to be removed correctly.

Syntax:

 
element.removeEventListener(event, function, useCapture);

Example:

function handleClick() { alert('Button clicked'); } document.getElementById('myButton').addEventListener('click', handleClick); document.getElementById('myButton').removeEventListener('click', handleClick);

4. Event Bubbling and Capturing

When an event is triggered on an element, it doesn’t stop there. The event goes through three phases:

  1. Capturing Phase: The event starts from the document root and goes down to the target element.
  2. Target Phase: The event reaches the target element.
  3. Bubbling Phase: The event bubbles back up to the document root.

By default, most events use the bubbling phase. You can control whether an event listener listens during the capturing or bubbling phase using the useCapture parameter.

Example of Capturing:

element.addEventListener('click', myFunction, true); // Capturing

Example of Bubbling:

element.addEventListener('click', myFunction, false); // Bubbling (default)

Conclusion

Event listeners are an essential part of making interactive web applications. Understanding how to use them effectively and when to apply bubbling or capturing is key to mastering event handling in JavaScript.


   
Quote
Share: