This site is mobile accessible. Press the "Tap Here" button to use a larger font-size.
Tap Here!
Smartphone icons created by Freepik - Flaticon
14.9 JS DOM Events
HTML DOM allows JavaScript to react to HTML events:
mouse over me Click me
Reacting to Events
A JavaScript can be executed when an event occurs, like when a user clicks on an HTML element.
To execute code when a user clicks on an element, add JavaScript code to an HTML event attribute:
onclick=JavaScript
Examples of HTML events:
When a user clicks the mouse
When a web page has loaded
When an image has been loaded
When the mouse moves over an element
When an input field is changed
When an HTML form is submitted
When a user strokes a key
In this example, the content of the <h1> element is changed when a user clicks on it:
<!DOCTYPE html>
<html>
<body>
<h1 onclick="this.innerHTML = 'Ooops!'">Click on this text!</h1>
</body>
</html>
In this example, a function is called from the event handler:
<!DOCTYPE html>
<html>
<body>
<h1 onclick="changeText(this)">Click on this text!</h1>
<script>
function changeText(id) {
id.innerHTML = "Ooops!";
}
</script>
</body>
</html>
HTML Event Attributes
To assign events to HTML elements you can use event attributes.
Assign an onclick event to a button element:
<button onclick="displayDate()">Try it</button>
In the example above, a function named displayDate will be executed when the button is clicked.
Assign Events Using the HTML DOM
The HTML DOM allows you to assign events to HTML elements using JavaScript:
Assign an onclick event to a button element:
<script>
document.getElementById("myBtn").onclick = displayDate;
</script>
The onload and onunload Events
The onload and onunload events are triggered when the user enters or leaves the page.
The onload event can be used to check the visitor's browser type and browser version, and load the proper version of the web page based on the information.
The onload and onunload events can be used to deal with cookies.
<body onload="checkCookies()">
The onmouseover and onmouseout Events
The onmouseover and onmouseout events can be used to trigger a function when the user mouses over, or out of, an HTML element:
Try ityourself
The onmousedown, onmouseup and onclick Events
The onmousedown , onmouseup and onclick events are all parts of a mouse-click. First when a mouse-button is clicked, the onmousedown event is triggered, then, when the mouse-button is released, the onmouseup event is triggered, finally, when the mouse-click is completed, the onclick event is triggered.
Try it yourself
More Examples
onmousedown and onmouseup
Change an image when a user holds down the mouse button.
onload
Display an alert box when the page has finished loading.
onfocus
Change the background-color of an input field when it gets focus.
Mouse Events
Change the color of an element when the cursor moves over it.
HTML DOM Event Object Reference
For a list of all HTML DOM events, look at the complete HTML DOM Event Object Reference .
JavaScript icons used in the buttons provided by ICONS8.COM . Smartphone icons created by Freepik - Flaticon
Example files created in this module:
HTML DOM Methods
JS HTML DOM - Finding HTML Element by Id
JS HTML DOM - Finding HTML Elements by Tag Name part 1
JS HTML DOM - Finding HTML Elements by Tag Name part 2
JS HTML DOM - Finding HTML Elements by Class Name
JS HTML DOM - Finding HTML Elements by CSS Selectors
JS HTML DOM - Finding HTML Elements by HTML document.forms
JS Changing HTML Content part 1
JS Changing HTML Content part 2
JS HTML DOM - Changing the Value of an Attribute
JS HTML DOM - Dynamic HTML content
JS HTML DOM - document.write()
JS Validation - HTML Form Example part 1
JS Validation - HTML Form Example part 2
JS HTML DOM - Changing the HTML style
JS HTML DOM - Changing the HTML style Using Events
My first JS animation part 1
My first JS animation part 2
JS HTML Events - The onclick Attribute part 1
JS HTML Events - The onclick Attribute part 2
JS HTML Events - The onclick Attribute part 3
JS HTML Events - The onclick Attribute part 4
JS HTML Events - The onload Attribute
JS addEventListener() part 1
JS addEventListener() part 2
JS addEventListener() part 3
JS addEventListener() part 4
JS addEventListener() part 5
JS addEventListener() part 6
JS addEventListener() part 7
JS addEventListener() part 8
JS removeEventListener()
JS HTML Child Nodes and Node Values part 1
JS HTML Child Nodes and Node Values part 2
JS HTML Child Nodes and Node Values part 3
JS HTMLDOM - DOM Root Nodes part 1
JS HTMLDOM - DOM Root Nodes part 2
JS HTMLDOM - The nodeName Property
JS HTMLDOM - The nodeType Property
JS HTML DOM - Creating New HTML Elements (Nodes)
JS HTML DOM - Creating new HTML Elements - insertBefore()
JS HTML DOM - Removing Existing HTML Elements
JS HTML DOM - Remove Child Element
JS HTML DOM - Replacing an HTML Elements
JS HTML DOM Collections
JS HTML DOM Collections - HTMLCollection Length par 1
JS HTML DOM Collections - HTMLCollection Length part 2
JS HTML DOM - DOM Node Lists
JS HTML DOM - DOM Node List Length part 1
JS HTML DOM - DOM Node List Length part 2