我是jquery的初学者。我正在通过followng视频教程。 https://www.youtube.com/watch?v=l7JaPcGQYtk&list=PL6n9fhu94yhVDV697uvHpavA3K_eWGQap&spfreload=5
他提到,window.load在加载DOM,图像,css等之后执行,并且在DOM准备好后执行document.read()。因此,document.ready事件总是在window.load事件之前执行。但是当我尝试关注片段时,window.load正在document.ready之前执行。任何人都可以告诉我,我做错了(或)这是预期的行为。
<!DOCTYPE html>
<html>
<head>
<title>window load vs document ready</title>
<script src = "jquery-3.1.0.js"></script>
</head>
<body>
<script type="text/javascript">
var jq = jQuery.noConflict();
jq(document).ready(function(){
alert("Document is loaded");
});
jq(window).on("load", function(){
alert("Window is ready");
});
</script>
</body>
</html>
答案 0 :(得分:2)
JQuery 3.1.0似乎存在一些问题 尝试用2.4和1.1 它按预期工作
答案 1 :(得分:1)
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
window.onload = function() {
alert('Window onload');
};
$(document).ready(function() {
alert('document');
});
</script>
</head>
<body>
<img src="a.jpg">
</body></html>
嗯...。使用Jquery 3.3.1,我通过添加img标签和document.ready首先执行了上述操作。我可能是错的,但是这使我相信,当有其他标签时,也许window.onload等待并且$()。ready首先被触发。没有img标签,window.onload首先运行...