Top 50+ JavaScript Events You Should Know
JavaScript events help make web pages fun and interactive. They let your web page respond when people click, type, or move the mouse. Here are more than 50 important events you should learn about!
Triggered when an element is clicked.
javascriptCopydocument.getElementById('myButton').addEventListener('click', () => {alert('Button clicked!');});
Triggered when an element is double-clicked.
javascriptCopydocument.getElementById('myDiv').addEventListener('dblclick', () => {alert('Div double-clicked!');});
Triggered when the mouse button is pressed down.
javascriptCopydocument.addEventListener('mousedown', (event) => {console.log('Mouse button pressed:', event.button);});
Triggered when the mouse button is released.
javascriptCopydocument.addEventListener('mouseup', () => {console.log('Mouse button released');});
Triggered when the mouse moves over an element.
javascriptCopydocument.addEventListener('mousemove', (event) => {console.log('Mouse position:', event.clientX, event.clientY);});
Triggered when the mouse enters an element.
javascriptCopydocument.getElementById('myDiv').addEventListener('mouseenter', () => {console.log('Mouse entered the div');});
Triggered when the mouse leaves an element.
javascriptCopydocument.getElementById('myDiv').addEventListener('mouseleave', () => {console.log('Mouse left the div');});
Triggered when the mouse wheel is used.
javascriptCopydocument.addEventListener('wheel', (event) => {console.log('Wheel event:', event.deltaY);});
Triggered when a key is pressed down.
javascriptCopydocument.addEventListener('keydown', (event) => {console.log('Key down:', event.key);});
Triggered when a key is released.
javascriptCopydocument.addEventListener('keyup', (event) => {console.log('Key up:', event.key);});
Triggered when a character key is pressed (deprecated).
javascriptCopydocument.addEventListener('keypress', (event) => {console.log('Key pressed:', event.key);});
Triggered when a form is submitted.
javascriptCopydocument.getElementById('myForm').addEventListener('submit', (event) => {event.preventDefault(); // Prevent default form submissionconsole.log('Form submitted!');});
Triggered when an input field changes.
javascriptCopydocument.getElementById('myInput').addEventListener('change', (event) => {console.log('Input changed:', event.target.value);});
Triggered when the value of an input field changes (live updates).
javascriptCopydocument.getElementById('myInput').addEventListener('input', (event) => {console.log('Input value:', event.target.value);});
Triggered when an input field receives focus.
javascriptCopydocument.getElementById('myInput').addEventListener('focus', () => {console.log('Input focused');});
Triggered when an input field loses focus.
javascriptCopydocument.getElementById('myInput').addEventListener('blur', () => {console.log('Input blurred');});
Triggered when the entire page is loaded, including all dependent resources.
javascriptCopywindow.addEventListener('load', () => {console.log('Page fully loaded');});
Triggered when the browser window is resized.
javascriptCopywindow.addEventListener('resize', () => {console.log('Window resized:', window.innerWidth, window.innerHeight);});
Triggered when the user scrolls the document.
javascriptCopywindow.addEventListener('scroll', () => {console.log('Page scrolled');});
Triggered when the document or a child resource is being unloaded.
javascriptCopywindow.addEventListener('unload', () => {console.log('Page unloaded');});
Triggered before the user leaves the page, allowing you to prompt them.
c#Copywindow.addEventListener('beforeunload', (event) => {event.preventDefault();event.returnValue = 'Are you sure you want to leave?';});
Triggered when a touch point is placed on the touch surface.
javascriptCopydocument.addEventListener('touchstart', (event) => {console.log('Touch started');});
Triggered when a touch point is moved along the touch surface.
javascriptCopydocument.addEventListener('touchmove', (event) => {console.log('Touch moving');});
Triggered when a touch point is removed from the touch surface.
javascriptCopydocument.addEventListener('touchend', (event) => {console.log('Touch ended');});
Triggered when the user copies content.
javascriptCopydocument.addEventListener('copy', () => {console.log('Content copied to clipboard');});
Triggered when the user cuts content.
javascriptCopydocument.addEventListener('cut', () => {console.log('Content cut from clipboard');});
Triggered when the user pastes content.
javascriptCopydocument.addEventListener('paste', () => {console.log('Content pasted from clipboard');});
Triggered when media starts playing.
javascriptCopyconst video = document.getElementById('myVideo');video.addEventListener('play', () => {console.log('Video is playing');});
Triggered when media is paused.
javascriptCopyvideo.addEventListener('pause', () => {console.log('Video is paused');});
Triggered when media playback ends.
javascriptCopyvideo.addEventListener('ended', () => {console.log('Video playback ended');});
Triggered when the volume changes.
javascriptCopyvideo.addEventListener('volumechange', () => {console.log('Volume changed to:', video.volume);});
Create and dispatch custom events.
javascriptCopyconst event = new CustomEvent('myCustomEvent', { detail: { key: 'value' } });document.dispatchEvent(event);document.addEventListener('myCustomEvent', (e) => {console.log('Custom event triggered:', e.detail);});
Triggered when an element or any child element receives focus.
javascriptCopydocument.getElementById('myInput').addEventListener('focusin', () => {console.log('Focus in on input or its children');});
Triggered when an element or any child element loses focus.
javascriptCopydocument.getElementById('myInput').addEventListener('focusout', () => {console.log('Focus out from input or its children');});
Triggered when the right mouse button is clicked.
javascriptCopydocument.addEventListener('contextmenu', (event) => {event.preventDefault(); // Prevent default context menuconsole.log('Custom context menu opened');});
Triggered when a CSS animation starts.
javascriptCopydocument.getElementById('myElement').addEventListener('animationstart', () => {console.log('Animation started');});
Triggered when a CSS animation ends.
javascriptCopydocument.getElementById('myElement').addEventListener('animationend', () => {console.log('Animation ended');});
Triggered when a CSS transition ends.
javascriptCopydocument.getElementById('myElement').addEventListener('transitionend', () => {console.log('Transition ended');});
Knowing about JavaScript events is important for making fun web apps. This list has helpful events you can use to make your site better. When you use these events well, you can create apps that are easy to use and make people happy.