如何只使用AJAX延迟加载jQueryUI选项卡一次?

时间:2009-10-05 02:55:41

标签: jquery jquery-ui

我发现了couple examples关于如何延迟加载jQueryUI,但没有人使用Events/one。这看起来非常适合这个任务,因为它定义了一个只运行一次的事件处理程序。

我不能完全把它放在一起。如果我通过在选项卡<li>中添加一个链接来通过AJAX加载内容,我无法弄清楚如何只加载一次而不禁用整个链接。

有人想过这个吗?

编辑:这可能很重要:我想这样做是因为每个标签的内容都包含一个获取另一页数据的链接。如果每次都点击原始的AJAX链接,用户将丢失他们当前正在显示的数据页面。

2 个答案:

答案 0 :(得分:2)

如果您的服务器第一次发送正确的缓存相关标头,浏览器应该(理论上)为您处理这个问题。对$()。load('/ url')的后续调用应该是缓存命中,不是吗?

答案 1 :(得分:2)

您仍然不完全清楚您的情况或需求,但如果您发现曾经不适合您的需求,您可以为每个标签(或通过索引匹配标签的数组)创建自己的变量加载时的记录

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

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

低技术解决方案,但您可以完全控制您的流程。

相关问题