使用jquery.collapsible.js时,我注意到表索引在展开/关闭时不会改变。我几乎有一个解决方案,但如果有人能改进这段代码,我会很感激,因为我确信有更好的方法来做到这一点。
$('.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);
}
});
});问题是,表索引只在第二次单击时更改,然后0,-1顺序是错误的。
发布于 2015-11-27 02:29:11
感谢Ihan提供了更高效的脚本。它现在起作用了,我只需将默认类从“折叠-打开”更改为“崩溃-关闭”。
$(".collapsible").on('click', function (e) {
var self = $(this);
var tabIndex = self.hasClass("collapse-close") ? 0 : -1;
self.attr("tabIndex", tabIndex);
});发布于 2015-11-27 02:13:28
如果您只是在寻找一种更好的方法,并且您的解决方案已经起作用了,那么您可以用它来简化它。您不需要在每个.collapsible中循环使用each函数来添加click事件处理程序。
$(".collapsible").on('click', function (e) {
var self = $(this);
var tabIndex = self.hasClass("collapse-open") ? 0 : -1;
self.attr("tabIndex", tabIndex);
});这将选择类collapsible的任何元素,绑定单击事件,然后检查该元素是否有collapse-open类以确定要应用哪个选项卡索引。
https://stackoverflow.com/questions/33949342
复制相似问题