HTMLElement: load event

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The load event fires for elements containing a resource when the resource has successfully loaded. Currently, the list of supported HTML elements are: <body>, <embed>, <iframe>, <img>, <link>, <object>, <script>, <style>, and <track>.

Note: The load event on HTMLBodyElement is actually an alias for the window.onload event. Therefore, the load event will only fire on the <body> element once all of the document's resources have loaded or errored. However, for the sake of clarity, it is recommended that the event handler is attached to the window object directly rather than on HTMLBodyElement.

This event is not cancelable and does not bubble.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

js
addEventListener("load", (event) => { })

onload = (event) => { }

Event type

A generic Event.

Examples

This example prints to the screen whenever the <img> element successfully loads its resource.

HTML

html
<img
  id="image"
  src="/shared-assets/images/examples/favicon144.png"
  alt="MDN logo"
  width="72" />
<div><button onclick="reload()">Reload</button></div>

JavaScript

js
const image = document.getElementById("image");
image.onload = () => {
  document.body.appendChild(document.createElement("div")).textContent =
    "loaded!";
};

function reload() {
  image.src = "/shared-assets/images/examples/favicon144.png";
}

Result

Specifications

Specification
UI Events
# event-type-load
HTML
# handler-onload
HTML
# event-load

Browser compatibility

See also

  • Related events