2009-04-17 129 views
6

我使用的是$一些外部的jQuery(文件)。就緒()來插入文檔準備事件後,廣告已經解僱了,是這樣的:

$(document).ready(function() { 
    $('#leaderboard').html("<strong>ad code</strong>");  
}); 

這是爲了防止廣告緩慢加載阻止用戶界面。到目前爲止,它一直運作良好。

現在我需要通過我們的CMS系統插入一些更多的廣告,這不能是外部JS文件的一部分,所以我想知道可以使用第二個文檔就緒事件並使用內嵌腳本標記插入它?如果是這樣,首先執行外部JS文檔就緒事件或內聯腳本的順序是什麼?

回答

10

您可以根據需要使用盡可能多的事件方法,jquery將它們加入到隊列中。方法調用的順序與定義順序相同 - 最後一次調用的是最後一次添加。

一個有用的事情可能是,您可以使用ajax加載帶有腳本的html代碼,並且當代碼加載到DOM $()。ready()時也會被調用,因此您可以動態加載廣告。

3

一個額外的jQuery的方式好處是 ,你可以有多個就緒() 定義。所有 jQuery事件都是如此。 (函數(){ alert(「Number One」);});

$(文件)。就緒(函數(){ 警報( 「二把手」);

9

是,添加多個$(文件)。就緒()s是不是問題的旨意。在準備事件執行

不過請注意,你的代碼示例是錯誤的$(document)。就緒()接受一個函數,而不是一個表達式所以,你應該給它一個函數是這樣的:。

$(document).ready(function() { 
    $('#leaderboard').html("<strong>ad code</strong>");  
}); 

該函數將在第e文件已準備就緒。

+0

ooops yep,只是抓了一些代碼來說明檢查我在做什麼實際上會工作:) – Tom 2009-04-17 10:22:45

1

JQuery按照它們定義的順序調用ready函數。 如果您想首先加載一些數據並刪除執行,請使用holdReady()