JS TutorialLesson #162

JavaScript Events

HTML events are things that happen to HTML elements.

HTML events are things that happen to HTML elements.

Examples of events:

  • An HTML button is clicked
  • A web page has finished loading
  • The mouse moves over an element
  • A keyboard key is pressed
  • An HTML input field is changed

HTML DOM allows JavaScript to react to HTML events:

JavaScript Events

Often, when events happen, you may want to do something.

When JavaScript is used in HTML pages, JavaScript can react on events.

JavaScript lets you execute code when events are detected.

HTML allows event handler attributes, with JavaScript code, to be added to HTML elements.

Syntax

Example Code

html
Try it Yourself

In the following example, an onclick attribute (with code), is added to a element:

Example

Example Code

html
Try it Yourself
**The time is?

In the example above, the JavaScript code changes the content of the element with id="demo".

In the next example, the code changes the content of its own element using this**.innerHTML:

Example

Example Code

html
Try it Yourself
The time is?

Calling a JavaScript Function

JavaScript code can often be several lines long.

It is more common to use the event attribute to call a function:

Example

Example Code

html
Try it Yourself
The time is?

function displayDate() {

  document.getElementById("demo").innerHTML = Date();

}

Common HTML Events

Here is a list of some common HTML events:

EventDescription
onchangeAn HTML element has been changed
onclickThe user clicks an HTML element
onmouseoverThe user moves the mouse over an HTML element
onmouseoutThe user moves the mouse away from an HTML element
onkeydownThe user pushes a keyboard key
onloadThe browser has finished loading the page

The list is much longer: EA Academy JavaScript Reference HTML DOM Events.


JavaScript Event Handlers

An event handler is JavaScript code that runs when an event happens.

Event handlers can be used to handle and verify user input, user actions, and browser actions:

  • Things that should be done every time a page loads
  • Things that should be done when the page is closed
  • Action that should be performed when a user clicks a button
  • Content that should be verified when a user inputs data
  • And more ...

Many different methods can be used to let JavaScript work with events:

  • HTML event attributes can execute JavaScript code directly
  • HTML event attributes can call JavaScript functions
  • You can assign your own event handler functions to HTML elements
  • You can prevent events from being sent or being handled
  • And more ...

Using an Event Listener

Using event attributes like onclick are easy to use.

Nevertheless, using addEventListener() is the recommended way to handle events.

Not Recommended

Example Code

html
Try it Yourself
Time is?

// Function to display date

function displayDate() {

  document.getElementById("demo").innerHTML = Date();

}

The addEventListener() method keeps HTML and JavaScript separated.

Highly Recommended

Example Code

html
Try it Yourself
Click me

const btn = document.getElementById("myBtn");

// Add EventListener to btn

btn.addEventListener("click", function () {

  document.getElementById("demo").innerHTML = Date();

});
You will learn a lot more about events and event handlers in the HTML DOM chapters.


Interactive Code Examples

Syntax

html
Try it Yourself
JavaScript syntax and algorithm demonstration.
<element
event='some JavaScript'>

JS Example 3

html
Try it Yourself
Interactive runnable JavaScript example from EA Academy.
Live Output Preview:

JS Example 4

html
Try it Yourself
Interactive runnable JavaScript example from EA Academy.
Live Output Preview:

JS Example 5

html
Try it Yourself
Interactive runnable JavaScript example from EA Academy.
Live Output Preview:

Not Recommended

html
Try it Yourself
Interactive runnable JavaScript example from EA Academy.
Live Output Preview:

Highly Recommended

html
Try it Yourself
Interactive runnable JavaScript example from EA Academy.
Live Output Preview: