2014-10-19 84 views
-1

我理解$(document).ready的前提 - 以外行的話說,等到文檔對象模塊在執行完這個腳本之前就已經完全準備好了 - 但我不明白的是爲什麼當文檔準備就緒時所有的jQuery代碼都不能運行。

在文檔完成處理之前是否需要設置一些功能? jQuery編寫時,它只是原始結構中的一個異常問題。

如果有人對此有一個很好的回答,這將有助於我的理解以及將來對許多其他jQuery用戶的理解。

+0

可能重複[Is $(document).ready necessary?](http://stackoverflow.com/questions/4643990/is-document-ready-necessary) – nietonfir 2014-10-19 22:30:54

+0

@nietonfir不是同一個問題。感謝您的閱讀! – worldofjr 2014-10-19 22:33:13

+0

可能重複的[jQuery:爲什麼使用document.ready如果頁面底部的外部JS?](http://stackoverflow.com/questions/1438883/jquery-why-use-document-ready-if-external-js-頁面底部) – PeterKA 2014-10-19 22:40:06

回答

2

如果所有jQuery代碼都在文檔準備就緒時運行,那麼它必須排隊等待所有的調用。這將在ready事件異步之前完成每個調用,這會使一切變得更加複雜。

實施例:

var prefix = "A:"; 
$('.colA').text(function(i, t){ return prefix + t; }); 
prefix = "B:"; 
$('.colB').text(function(i, t){ return prefix + t; }); 

這將前綴與A:class="colA"B:添加到元素的文本與class="colB"元素的文本。

如果調用是異步的,它會將B:添加到所有元素,因爲這兩個賦值都會在任何jQuery代碼之前運行。

相關問題