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.


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

elt.addEventListener("load", (event) => { ... });
// or
elt.onload = (event) => { ... };

Event type

A generic Event.


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


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


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

function reload() {
  image.src = "favicon144.png";



No specification found

No specification data found for api.HTMLElement.load_event.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser compatibility

BCD tables only load in the browser

See also

  • Related events