我是 jQuery 的新手。我了解到首先加载 DOM 内容,然后 window.onload 事件将发生,因为必须加载所有样式表和图像。 但是下面的代码对我来说不是这样
<!DOCTYPE html>
<html>
<head>
<title>Add Event Listener</title>
<script type="text/javascript" src="../jquery-3.2.1.js"></script>
<script type="text/javascript" >
$(document).ready(function(){
alert("DOM Loaded");
});
$(window).on("load",function(){
alert("Window Loaded");
});</script>
</head>
<body>
</body>
</html>
在 Google Chrome (63.0.3239.108) 上打开后,我收到一条警告,提示窗口已加载,然后出现“DOM 已加载”。 与 Microsoft Edge (40.15063.0.0) 相同的问题
但是,这适用于 Firefox(57.0.3)
谁能解释一下?
提前致谢! 这个问题不是
的重复window.onload seems to trigger before the DOM is loaded (JavaScript)
最佳答案
那是因为你在没有加载任何图像的情况下测试它......
因此所有标记都已被解析并全部加载。所以 load
事件发生了。
然后当脚本被解析后,ready
发生。
当有图像要加载时,通常是脚本解析得更快。
下面看看当有一个时会发生什么。
$(document).ready(function(){
alert("DOM Loaded");
});
$(window).on("load",function(){
alert("Window Loaded");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img src="https://static.pexels.com/photos/132037/pexels-photo-132037.jpeg">
关于javascript - 在 Google Chrome 上使用 jQuery 加载窗口比 DOM 先加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48102745/