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

来源:1-7 jQuery中ready与load事件

妈咪妈咪哄

2014-11-16 01:36

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

写回答 关注

2回答

  • 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的引入放底部试试。

jQuery源码解析(架构与依赖模块)

由浅入深地剖析jQuery库的设计与实现,揭开框架背后的秘密

84049 学习 · 280 问题

查看课程

相似问题