任何人都可以告诉我为什么以下页面在加载时不会触发警报?如果我使用window.onload
代替document.onload
则可行。为什么会出现这种差异?
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
document.onload = function() {
alert('Test');
}
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:8)
最简单的答案是它不是那样设计的。浏览器在“end of the document loading process”处执行附加到window.onload
的功能。它不会尝试执行附加到document.onload
的函数。
您可以将功能分配给document.onload
,但浏览器不会对其执行任何特殊操作。
要注意的一些事项(假设您刚刚为window.onload
或document.onload
中的一个或另一个分配了一个功能):
window.onload === onload
window.onload !== document.onload
window !== document
答案 1 :(得分:1)
事件处理程序为onload
而非document.onload
。它直接挂起window
对象(默认对象)。