2016-04-08 27 views
0

請問我需要一些建議,是否建議使用jQuery的$(document).ready(),因爲我在使用加載函數加載外部頁面時出現問題,在這個page上搜索結果想知道如果我可以毫不$(document).ready()運行jQuery腳本需要您的意見..謝謝

+4

可能重複[window.onload vs $(document).ready()](http://stackoverflow.com/questions/3698200/window-onload-vs-document-ready) – SamyQc

+0

這也將是相關的暫時:** [不要初始化jQuery中的所有東西](http://elijahmanor.com/dont-initialize-all-the-things-in-jquery-ready/)** – AGE

回答

1

由於jQuery的操縱文檔,使用.ready可以確保你的代碼時,該文件已準備就緒,即瀏覽器已經下載了HTML

運行

load稍後會在圖像加載時觸發等。

另外,在<body>標籤結束之前,將您的<script>標籤放置好,這將加快頁面加載速度並提供更好的用戶體驗。

+0

謝謝,儘可能多我想知道 –

+2

@MarshallUnduemiJosiah關於上述的答案:在''標籤之前放置'標記的最佳位置是哪裏?](http://stackoverflow.com/a/24070373/1046690)** – AGE

0

我認爲最好的方式來看待這個問題,沒有任何東西是一種修復 - 所有的編碼。準備好的電話很棒,但不適合你的JS所做的一切。另外,正如其他人所建議的,在body標籤可以提供幫助之前移動JS,但並非總是如此。

你的問題不應該應該使用它,而應該使用它。

+0

當然我發現這個[link](http:// encosia.com/dont-let-jquerys-document-ready-slow-you-down/)不要讓jQuery的$(document).ready()放慢你的速度 –

+0

文章很好,但是也取決於你的情況。現場示例很好,但如果您不希望用戶在頁面加載時進行觸發點擊事件,則準備就緒更好。我覺得ajax調用是顯而易見的(儘快獲取數據),但也會懷疑它是否會影響加載時間,或者需要花費很多時間。 – nerdlyist

+0

好吧非常感謝你全部 –

-1

JQuery強烈建議跨瀏覽器兼容性,社區支持,易用性和經過測試。

$(的document.ready())等效於:

document.addEventListener("DOMContentLoaded", function(event) { 
    // code goes here 

}); 

的window.load功能或JQuery的負荷相當於

document.addEventListener("load", function(event) { 
    // code goes here 

}); 

的DOMContentLoaded火災時,所有的HTML DOM的已解析。 加載時,所有的HTML DOM已解析和圖像加載完成

要使用此方法,您必須確保您已包含JQuery庫,它已事先加載。

+0

爲什麼是負面的標誌?大聲笑。這個網站上的人打碎了我 –

0

$ document.ready()不在每個部分回發中調用。 $ document.ready()僅被調用一次,即在第一次頁面加載期間。如果你想回調每個部分回發,那麼你必須使用pageLoad()方法,這是scriptmanager生成腳本的一部分,意思是如果你想使用pageLoad()方法,那麼你需要在頁面中使用asp.net scriptmanager 。

相關問題