0

我有三个页面,admin.phpuser_admin.php, 和client_admin.php相应的 JS 源文件admin.jsuser_admin.js, 和client_admin.js,我遇到了 jQuery UI 选项卡没有正确处理资源的问题。

admin.phpuser_admin.php是and的占位符client_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 库?

4

1 回答 1

0

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

于 2012-08-07T00:53:40.810 回答