【发布时间】:2012-08-07 08:53:40
【问题描述】:
我有三个页面,admin.php、user_admin.php 和 client_admin.php 以及相应的 JS 源文件 admin.js、user_admin.js 和 client_admin.js,我遇到了 jQuery UI 选项卡的问题妥善处理资源。
admin.php 是user_admin.php 和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 库?
【问题讨论】:
标签: jquery jquery-ui colorbox jquery-ui-tabs