Jquery UI 嵌套手风琴的问题;标头选项会干扰嵌套折叠项
Problems with Jquery UI nested accordions; header option interferes with nested accordions
Tl;dr:滚动到底部以获得更简单的解释。
我想我有一个稍微独特的问题。 首先也是最重要的..我已经查看了互联网/谷歌,包括该网站,以及提出这个问题时的建议。
回到手头的主题,我正在生成一系列嵌套的手风琴,其中嵌套的数量是动态生成的..也就是说,对于底层项目可以有多少个父项没有设定限制,因此不能选择".acord1,.acord2,.acord3"等。
到问题.. 手风琴中的一些标题是底层项目,它们没有子项,没有附加手风琴。
下面的示例html不包含上述项目,因为它重现了面临的问题,即在添加header:
选项(我用来排除前面提到的项目)时,它会触发顶级手风琴,在单击其中一个子项时将其关闭。
以下是我设法用最少的代码重现的测试用例:
<div class="acord">
<h3>test1</h3>
<div class="acord">
<h3>test2</h3>
<div>test2cont</div>
</div>
<h3 class="item">test3</h3>
</div>
$(".acord").accordion({
header: "h3:not(.item)",
heightStyle: "content",
active: false,
collapsible: true,
});
如果tl;dr
上述内容,则使用嵌套手风琴指定标题选项不起作用,因为子手风琴的父级(单击)然后关闭。
Js 小提琴
有解决办法吗?
以下是我管理的解决方法。 它很丑陋,但通过其他一些事情,它可以完成工作。 如果有人比删除 jquery 手风琴头的图标和填充和单击功能更好,请回答这个问题。 在此之前:
$(".acord").accordion({
heightStyle: "content",
active: false,
collapsible: true,
changestart: function (event, ui) {
if ($(event.currentTarget).hasClass("item")) {
event.preventDefault();
$(event.currentTarget).removeClass("ui-corner-top").addClass("ui-corner-all");
}
}
});
编辑:
感谢jQuery错误跟踪器的人,这已经通过更好的解决方案解决了:
$(".acord").accordion({
header: "> h3:not(.item)", //this line
heightStyle: "content",
active: false,
collapsible: true
});
相关文章:
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 嵌套的引导选项卡未正确加载内容
- AngularJS - 嵌套的ng-重复选择/选项,获取/设置所选值
- 嵌套在表单中的引导下拉菜单:输入时选项卡索引中断
- 聚合物:如何为具有嵌套特性的图纸选项卡设置默认值
- 选项卡中的嵌套选项卡选项卡中的选项卡引导程序
- 在有角度的ng重复中嵌套ng选项
- 嵌套选项卡 bootstrap3 在父选项卡中存在带有滑块的错误
- 选项卡中的嵌套选项卡(引导)
- 如何使 jquery 嵌套选项卡链接工作
- 引导程序 3:嵌套选项卡
- Ionic/Angularjs 嵌套选项卡问题
- 触发引导程序 3 上的嵌套选项卡窗格
- IE中的jQuery嵌套选项卡设计问题
- 嵌套选项不打印所有路径
- Jquery 嵌套选项卡
- 嵌套选项卡中的内容没有显示100%的宽度
- 隐藏菜单中的嵌套选项
- 正在基于当前选定的顶部选项卡获取嵌套选项卡
- JQuery 选项卡 - 嵌套选项卡问题 - 初始加载时激活子选项卡