unload event is fired when the document or a child resource is being unloaded. It is fired after:
The document is in a particular state:
window.open, alert, confirm, etc.)Please note that the unload event also follows the document tree: parent frame unload will happen before child frame unload (see example below).
| Bubbles | No |
| Cancellable | No |
| Target objects | defaultView, Document, Element |
| Interface |
UIEvent if generated from a user interface, Event
|
| Default action | None |
| Property | Type | Description |
|---|---|---|
target Read only
| EventTarget | The event target (the topmost target in the DOM tree). |
type Read only
| DOMString | The type of event. |
bubbles Read only
| Boolean | Whether the event normally bubbles or not. |
cancelable Read only
| Boolean | Whether the event is cancellable or not. |
view Read only
| WindowProxy |
document.defaultView (window of the document) |
detail Read only
|
long (float) | 0. |
<!DOCTYPE html>
<html>
<head>
<title>Parent Frame</title>
<script>
window.addEventListener('beforeunload', function(event) {
console.log('I am the 1st one.');
});
window.addEventListener('unload', function(event) {
console.log('I am the 3rd one.');
});
</script>
</head>
<body>
<iframe src="child-frame.html"></iframe>
</body>
</html> Below, the content of child-frame.html:
<!DOCTYPE html>
<html>
<head>
<title>Child Frame</title>
<script>
window.addEventListener('beforeunload', function(event) {
console.log('I am the 2nd one.');
});
window.addEventListener('unload', function(event) {
console.log('I am the 4th and last one…');
});
</script>
</head>
<body>
☻
</body>
</html> When the parent frame is unloaded, events will be fired in the order described by console.log messages.
| Specification | Status | Comment |
|---|---|---|
| UI Events The definition of 'unload' in that specification. | Working Draft |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/Events/unload