【问题标题】:How to lazy load a jQueryUI tab with AJAX only once?如何仅使用 AJAX 延迟加载 jQueryUI 选项卡一次?
【发布时间】:2009-10-05 02:55:40
【问题描述】:

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

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

有人想过这个吗?

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

【问题讨论】:

    标签: jquery jquery-ui


    【解决方案1】:

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

    【讨论】:

    • 感谢您的评论。我在原始帖子中添加了一些细节,解释了我为什么首先要这样做。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 2020-05-17
      相关资源
      最近更新 更多