HTMLElement: load event

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
elt.addEventListener("load", (event) => { ... });
// or
elt.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="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 = "favicon144.png";
}

Result

Specifications

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

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
load event

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also

  • Related events