window.load在document.ready之前执行

时间:2016-08-06 14:32:30

标签: jquery

我是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>

2 个答案:

答案 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首先运行...