jQuery 可折叠标签索引
jQuery Collapsible tabindex
使用 jquery.collapsible.js 我注意到在 expanded/closed 时 tabindex 没有改变。我几乎有一个解决方案,但如果有人可以改进这段代码,我将不胜感激,因为我确信有更好的方法来做到这一点。
$('.collapsible').each(function() {
$('.collapsible').on('click',function(e) {
if($('div').hasClass('collapsible collapse-open')) {
$('.collapsible.collapse-open').attr("tabIndex", 0);
} else {
$('.collapsible.collapse-close').attr("tabIndex", -1);
}
});
});
问题是 tabindex 仅在第二次单击时发生变化,然后 0,-1 顺序错误。
如果您只是在寻找更好的方法,并且您的解决方案已经有效,您可以用它来简化它。您不需要使用 each
函数遍历每个 .collapsible
来添加 click
事件处理程序。
$(".collapsible").on('click', function (e) {
var self = $(this);
var tabIndex = self.hasClass("collapse-open") ? 0 : -1;
self.attr("tabIndex", tabIndex);
});
这将 select 任何具有 class collapsible
的元素,绑定点击事件,然后检查该元素是否具有 collapse-open
class以确定要应用哪个选项卡索引。
感谢 Ihan 提供更高效的脚本。它现在正在工作我只需要将默认 class 从 'collapse-open' 更改为 'collapse-close'.
$(".collapsible").on('click', function (e) {
var self = $(this);
var tabIndex = self.hasClass("collapse-close") ? 0 : -1;
self.attr("tabIndex", tabIndex);
});
使用 jquery.collapsible.js 我注意到在 expanded/closed 时 tabindex 没有改变。我几乎有一个解决方案,但如果有人可以改进这段代码,我将不胜感激,因为我确信有更好的方法来做到这一点。
$('.collapsible').each(function() {
$('.collapsible').on('click',function(e) {
if($('div').hasClass('collapsible collapse-open')) {
$('.collapsible.collapse-open').attr("tabIndex", 0);
} else {
$('.collapsible.collapse-close').attr("tabIndex", -1);
}
});
});
问题是 tabindex 仅在第二次单击时发生变化,然后 0,-1 顺序错误。
如果您只是在寻找更好的方法,并且您的解决方案已经有效,您可以用它来简化它。您不需要使用 each
函数遍历每个 .collapsible
来添加 click
事件处理程序。
$(".collapsible").on('click', function (e) {
var self = $(this);
var tabIndex = self.hasClass("collapse-open") ? 0 : -1;
self.attr("tabIndex", tabIndex);
});
这将 select 任何具有 class collapsible
的元素,绑定点击事件,然后检查该元素是否具有 collapse-open
class以确定要应用哪个选项卡索引。
感谢 Ihan 提供更高效的脚本。它现在正在工作我只需要将默认 class 从 'collapse-open' 更改为 'collapse-close'.
$(".collapsible").on('click', function (e) {
var self = $(this);
var tabIndex = self.hasClass("collapse-close") ? 0 : -1;
self.attr("tabIndex", tabIndex);
});