Reputation: 2787
Can anyone tell me why the following page doesn't trigger an alert when it loads? If I use window.onload
instead of document.onload
it works. Why is there this difference?
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
document.onload = function() {
alert('Test');
}
</script>
</head>
<body>
</body>
</html>
Upvotes: 6
Views: 11297
Reputation: 60414
The simplest answer is that it just wasn't designed that way. The browser executes the function attached to window.onload
at the "end of the document loading process". It does not attempt to execute a function attached to document.onload
.
You could assign a function to document.onload
but the browser will not do anything special with it.
Some things to keep in mind (assuming you've just assigned a function to one or the other of window.onload
or document.onload
):
window.onload === onload
window.onload !== document.onload
window !== document
Upvotes: 8
Reputation: 943561
The event handler is onload
not document.onload
. It hangs directly off the window
object (which is the default object).
Upvotes: 1