使用 Twitter Bootstrap 2.3.2 Collapse 插件。
我在尝试使用 JavaScript 操作嵌套 Accordion 时遇到问题。
我想捕获上次单击的 Accordion 切换的 ID,以便在关闭所有打开的 Accordion 后可以引用它。
我可以使用显示/隐藏事件来全局关闭所有打开的 Accordion ,但我需要返回并打开最后选定的项目(或者如果更简单,则以另一种方式执行类似操作)。
我不知道如何为选定的 Accordion 切换创建变量。我只能使用“this”关键字访问顶层的 Accordion 。
我可以更改以下内容以使其引用 Accordion 切换吗?
$('.accordion').on('show', function () {
var selected = this.**[Accordion-Toggle]**
$('.accordion').on('hidden', function () {
clearCollapse();
});
do something with selected item here...
});
----------更新--------
在 Ammu 的帮助下整理了事件捕获后,我能够修改clearCollapse 函数来完成我需要的操作。该代码实际上选择了 Accordion-body 而不是 Accordion-toggle。
//function to fully collapse accordion on same page
function pageCollapse(inner) {
$('#' + inner).find('.accordion-body').removeClass('in');
$('#' + inner).find('.accordion-body').height('0px');
}
//collapse inner accordion on same page
$('.accordion').on('hidden', function (e) {
var selected = e.target.id;
pageCollapse(selected);
});
最佳答案
这可能对您有帮助。在你的代码中做一点改变
$('.accordion').on('show',function (event)){
var selected=event.target.id; // give id of selected element
$('.accordion').on('hidden',function () {
clearCollapse();
});
do something with selected item here... });
关于javascript - 在嵌套折叠中选择 Accordion 切换以完全关闭 Accordion ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20974988/