亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

ready和DOMContentLoaded順序問題

jq的ready事件底層是調用了DOMContentLoaded,那為什么是ready先被觸發,DOMContentLoaded后觸發,最后順序是,“腳本解析二”,“DOMContentLoaded回調”

正在回答

3 回答

改成這樣來看

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


1 回復 有任何疑惑可以回復我~
(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事件綁定你想要的函數

0 回復 有任何疑惑可以回復我~

先加載的JQuery后調用的document.addEventListener添加DOMContentLoaded。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

ready和DOMContentLoaded順序問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號