2009-10-05 108 views
2

我發現了examplescouple關於如何延遲加載jQueryUI,但沒有使用Events/one。這看起來非常適合這個任務,因爲它定義了一個只運行一次的事件處理程序。如何只使用AJAX延遲加載jQueryUI選項卡一次?

雖然我不能把它放在一起。如果我通過在選項卡的<li>中添加鏈接來通過AJAX加載內容,我無法弄清楚如何只加載一次而不禁用整個鏈接。

有沒有人想過這件事?

編輯:這可能很重要:我想這樣做,因爲每個選項卡的內容包含一個鏈接來獲取另一頁數據。如果每次點擊原始的AJAX鏈接,用戶將丟失他們當前顯示的數據頁面。

回答

2

如果您的服務器第一次發送正確的與緩存相關的標頭,則瀏覽器應該(理論上)爲您處理此問題。後續對$()。load('/ url')的調用應該是緩存命中,不是?

+0

感謝您的評論。我在原始文章中添加了一些細節,這解釋了爲什麼我想首先這樣做。 – royco 2009-10-05 03:16:34

2

你仍然不完全清楚自己的情況或需求,但是如果你發現一旦不適合你的需求,你可以爲每個標籤創建自己的變量(或者按索引匹配標籤的數組)記錄何時加載

var tab1loaded = false; 
var tab2loaded = false; 
// etc... 

function loadTab1() 
{ 
    if (tab1loaded) 
    { 
     // load tab 1 data here... 
     tab1loaded = true; 
    }  
} 

一種低科技解決方案,但您可以完全控制您的過程。