为什么这个window.addEventListener在doc.ready之前先触发?

时间:2014-11-07 20:55:16

标签: javascript jquery addeventlistener

在下面的测试代码中,我很困惑#5为什么这么快就会开火。

这是位于我的HTML测试页的HEAD部分的SCRIPT标记中的脚本。

    window.onload=function(){
        console.log("1");
    };

    (function testFunc() {  // IIFE will fire right away
        console.log("2")
    })();


    </script>
    <SCRIPT src="jquery.js"></SCRIPT>
    <SCRIPT src="script.js"></SCRIPT>   


    <script type="text/javascript">

    $( document ).ready(function() { // jquery doc ready
        console.log("3");
    });


    window.addEventListener('load', function(){
        console.log("4")
    }, false);


    function testFunc5() {
        console.log("5")  // this is where 5 is defined
    };
    window.addEventListener('load', testFunc5(), false); // and here is where it is fired

这是我的script.js文件中的代码

    $(function() {  // jquery document ready
        console.log("6");
    });

    $(function() {  // another jquery doc ready  
        console.log("7");
    });

我不希望这么快就被记录下来。我希望它能在最后出现。

我的控制台输出是...... 2,5,6,7,3,1,4

所有其他数字的顺序是有意义的,但不是5.它被添加到window.onload,并在#4之后添加。然而它接近开始。另一个window.onload和addEventListeners在最后加载fire。

0 个答案:

没有答案