課程
/前端開發
/jQuery
/jQuery源碼解析(架構與依賴模塊)
jq的ready事件底層是調用了DOMContentLoaded,那為什么是ready先被觸發,DOMContentLoaded后觸發,最后順序是,“腳本解析二”,“DOMContentLoaded回調”
2016-01-14
源自:jQuery源碼解析(架構與依賴模塊) 1-7
正在回答
改成這樣來看
<script>
? ? window.addEventListener("load", function() {
? ? ? ? show('load事件回調')
? ? }, false);
? ? document.addEventListener("DOMContentLoaded", function() {
? ? ? ? show('DOMContentLoaded回調')
</script>
<script src="http://img1.sycdn.imooc.com//down/540812440001e40e00000000.js" type="text/javascript"></script>
? ? show('觀察腳本加載的順序')
? ? show('腳本解析一')
? ? //測試加載
? ? $(function(){
? ? ? ? show('腳本解析二')
? ? })
? ? show('腳本解析三')
(function?()?{ var?succsee?=?function?()?{ ready.fun() }; function?ready(fun)?{ if(ready.fun){ var?ofun?=?ready.fun; ready.fun?=?function?()?{ ofun(); fun(); } console.log(ready.fun) }else{ ready.fun?=?fun; } } document.addEventListener('DOMContentLoaded',succsee,false) window.ready?=?ready; })()
簡單的猜測了一下$.ready事件,在加載JQuery時就給document的DOMContentLoaded事件綁定complete(success)函數,函數complete(success)再執行你想執行的函數,而不是直接給document的DOMContentLoaded事件綁定你想要的函數
先加載的JQuery后調用的document.addEventListener添加DOMContentLoaded。
舉報
由淺入深地剖析jQuery庫的設計與實現,揭開框架背后的秘密
4 回答關于DOMContentLoaded和ready的順序
7 回答jQuery中的ready和原生DOMContentLoaded事件誰先執行?原因是什么?
2 回答ready 中的問題
1 回答關于jquery中sizzle選擇器引擎解析順序問題
2 回答為何腳本解析二會在DomContentLoaded之前觸發
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-12-12
改成這樣來看
<script>
? ? window.addEventListener("load", function() {
? ? ? ? show('load事件回調')
? ? }, false);
? ? document.addEventListener("DOMContentLoaded", function() {
? ? ? ? show('DOMContentLoaded回調')
? ? }, false);
</script>
<script src="http://img1.sycdn.imooc.com//down/540812440001e40e00000000.js" type="text/javascript"></script>
<script>
? ? show('觀察腳本加載的順序')
? ? show('腳本解析一')
? ? //測試加載
? ? $(function(){
? ? ? ? show('腳本解析二')
? ? })
? ? show('腳本解析三')
</script>
2016-11-22
簡單的猜測了一下$.ready事件,在加載JQuery時就給document的DOMContentLoaded事件綁定complete(success)函數,函數complete(success)再執行你想執行的函數,而不是直接給document的DOMContentLoaded事件綁定你想要的函數
2016-01-14
先加載的JQuery后調用的document.addEventListener添加DOMContentLoaded。