【发布时间】:2011-05-03 15:10:07
【问题描述】:
我正在使用 jQuery UI 1.8.5 选项卡插件,具有 collapsible : true 配置。 我需要在折叠选项卡后调用一个函数来添加一个 CSS 类。有人知道怎么做吗?
【问题讨论】:
标签: jquery events tabs collapse unselect
我正在使用 jQuery UI 1.8.5 选项卡插件,具有 collapsible : true 配置。 我需要在折叠选项卡后调用一个函数来添加一个 CSS 类。有人知道怎么做吗?
【问题讨论】:
标签: jquery events tabs collapse unselect
show event 对此不起作用怎么办?因为你不知道隐藏了哪一个?
也许select event 可能就是您想要的。
使用'tabsselect' 事件:
$(".selector").tabs({
collapsible: true,
select: function(event, ui)
{
var prevSelectedIndex = $(".selector").tabs('option', 'selected');
var nextSelectedIndex = ui.index;
if(prevSelectedIndex === -1)
{
// It was previously collapsed and the user is now opening
// tab at index: nextSelectedIndex
}
else if(prevSelectedIndex === nextSelectedIndex )
{
// The user has clicked on the currently opened
// tab and it is collapsing
}
}
});
【讨论】:
您可以在点击时检查ui-tabs-selected 类是否存在。假设您使用的是标准标记:
// in your click event
var selected_exists = $('#yourTabBox')
.children('ul.ui-tabs-nav')
.children('li.ui-tabs-selected')
.length;
if (selected_exists) {
// Nothing is collapsed
} else {
// collapsed
}
这非常适合select 活动。
【讨论】:
;) ... 肯定会很高兴知道他在打什么吧?
select 事件中,this 是外部 div 元素,因此您的代码可以简化为$(this).children('ul.ui-tabs-nav > li.ui-tabs-selected').length。更快更灵活。