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
- Mouse Events
- Keyboard Events
- Form Events
- Window Events
- 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>
document.getElementById("myButton").addEventListener("click", function() {
alert("Button was clicked!");
});
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);
});
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>
document.getElementById("myForm").addEventListener("submit", function(event) {
event.preventDefault(); // Prevent form submission
alert("Form submitted!");
});
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!");
});
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!");
});
Adding Event Listeners
You can use addEventListener() to add an event listener to an element.
document.getElementById("myButton").addEventListener("click", function() {
alert("Button clicked!");
});
Removing Event Listeners:
document.getElementById("myButton").removeEventListener("click", function);
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);
});
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!");
}
});
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.