【问题标题】:jQuery UI Tabs not disposing of resourcesjQuery UI 选项卡不处理资源
【发布时间】:2012-08-07 08:53:40
【问题描述】:

我有三个页面,admin.phpuser_admin.phpclient_admin.php 以及相应的 JS 源文件 admin.jsuser_admin.jsclient_admin.js,我遇到了 jQuery UI 选项卡的问题妥善处理资源。

admin.phpuser_admin.phpclient_admin.php 的占位符,其中每一个都设置为动态加载的选项卡。这是admin.php 的正文:

<body>
    <div id="tabs" style="width: 1000px; margin-left: auto; margin-right: auto;">
        <ul>
            <li><a href="user_admin.php">User Admin</a></li>
            <li><a href="client_admin.php">Client Admin</a></li>
        </ul>
        <div id="user_admin">
        </div>
        <div id="client_admin">
        </div>
    </div>
</body>

使用以下代码初始化 jQuery-UI 选项卡:

$( "#tabs" ).tabs(
{
    cookie      : { expires: 9999 },
    cache       : false,
    ajaxOptions :
    {
        error : function( xhr, status, index, anchor )
        {
            $( anchor.hash ).html( "Error: could not load this tab" );
        }
    },
    show : function( event, ui )
    {
        previous_tab = ui.index;
        $( "#ui-tabs-" + previous_tab ).empty();
    }
});

问题在于user_admin.php,我在其中包含colorbox,并将其附加到弹出另一个页面的链接(带有href's到我要加载的页面),如下所示:

$( '.modal' ).colorbox(
{
    iframe          : true,
    slideshow       : false,
    title           : false,
    innerWidth      : 600,
    innerHeight     : 420,
    returnFocus     : false,
    slideshowStart  : "",
    slideshowStop   : "",
    current         : "",
    previous        : "",
    next            : "",
    close           : ""
});

这可行...但是,如果我尝试单击客户端管理选项卡,然后返回用户管理选项卡并单击再次启动 colorbox 的链接,它将加载 colorbox 两次,其中相同的内容,并且每次我回到用户管理选项卡时都会继续堆叠颜色框。

那么,回到我的观点...如何让 jQuery UI 转储所有资源,包括当前选项卡的 JS 库?

【问题讨论】:

    标签: jquery jquery-ui colorbox jquery-ui-tabs


    【解决方案1】:

    没关系,我搞砸了。我所做的是在标签中包含颜色框(和其他插件),而不仅仅是 html 内容。

    【讨论】:

      猜你喜欢
      • 2020-03-03
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多