我有三个页面,admin.php
,user_admin.php
, 和client_admin.php
相应的 JS 源文件admin.js
,user_admin.js
, 和client_admin.js
,我遇到了 jQuery UI 选项卡没有正确处理资源的问题。
admin.php
user_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 库?