files/en-us/web/api/htmlelement/load_event/index.md
{{APIRef("HTML DOM")}}
The load event fires for elements containing a resource when the resource has successfully loaded. Currently, the list of supported HTML elements are: {{HTMLElement("body")}}, {{HTMLElement("embed")}}, {{HTMLElement("iframe")}}, {{HTMLElement("img")}}, {{HTMLElement("link")}}, {{HTMLElement("object")}}, {{HTMLElement("script")}}, {{HTMLElement("style")}}, and {{HTMLElement("track")}}.
[!NOTE] The
loadevent on {{domxref("HTMLBodyElement#event_handlers", "HTMLBodyElement")}} is actually an alias for the {{domxref("Window/load_event", "window.onload")}} event. Therefore, theloadevent 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 thewindowobject directly rather than onHTMLBodyElement.
This event is not cancelable and does not bubble.
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property.
addEventListener("load", (event) => { })
onload = (event) => { }
A generic {{domxref("Event")}}.
This example prints to the screen whenever the {{HtmlElement("img")}} element successfully loads its resource.
<div><button>Reload</button></div>
const image = document.getElementById("image");
image.onload = () => {
document.body.appendChild(document.createElement("div")).textContent =
"loaded!";
};
document.querySelector("button").addEventListener("click", reload);
function reload() {
image.src = "/shared-assets/images/examples/favicon144.png";
}
{{EmbedLiveSample("Example", "100%", "200")}}
{{Specifications}}
{{Compat}}