2009-10-05 113 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; 
    }  
} 

一种低科技解决方案,但您可以完全控制您的过程。