问答详情
源自:1-7 jQuery中ready与load事件

为何脚本解析二会在DomContentLoaded之前触发

为何脚本解析二会在DomContentLoaded之前触发

提问者:妈咪妈咪哄 2014-11-16 01:36

个回答

  • whuomingjian
    2015-01-13 10:32:41
    已采纳

    个人理解:浏览器事件是异步发生的,jQuery的ready方法中(源码)是这样处理的(jquery2.1.1),1.使用setTimeout( jQuery.ready ),时间最小间隔;2.readyList = jQuery.Deferred(),事件队列(顺序);3.document.addEventListener( "DOMContentLoaded", completed, false ),completed方法调用自己,等保证ready方法是第一个DOM加载完后执行的。页面中的那个只能等前面的完成才执行------事件异步

  • daydaystudy
    2017-06-13 13:36:47

    这个和jquery的引入顺序有关,如果把jquery在DOMContentLoaded 后引入的话,先执行的是DOMContentLoaded,然后才是jquery。不信你把jquery的引入放底部试试。