Bootstrap新手,手风琴有些问题。希望有人能帮我解决它。
基本上我有一个空的手风琴和一个下拉菜单。每次在下拉菜单中进行选择时,都会将其添加到手风琴中,标记为.accordion-group
,但空格为.accordion-body
div。之后,此accordion-group设置为droppable,并自动添加.ui-droppable
类。
之后,我可以将一堆其他div拖放到.accordion-group
中,并将这些div附加到此特定组的.accordion-body
。这部分工作正常,但是,只要我点击展开任何给定的.accordion-group
,.ui-droppable
类就会从所有这些中删除。
如何阻止它删除.ui-droppable
类??
重现的步骤:
使用Bootstrap页面中的html标记: (出于某种原因,我无法通过用4个空格缩进来将HTML格式化为代码,所以我只是将链接粘贴到它上面) http://twitter.github.com/bootstrap/javascript.html#collapse
添加JS,使组可以放置
$('#accordion2').find('.accordion-group').each(function() {
$(this).droppable();
});
检查元素以确保.ui-droppable
类已设置
单击以展开组。任何小组。
检查元素。 {{1>}来自所有人
答案 0 :(得分:1)
解决了这个问题,但我认为这是一种非常愚蠢的方法来实现结果,因此我对Bootstrap如何处理切换感到不满意。我真的不认为每次有人打开或关闭某个部分时都需要循环每个.accordion-group
重新应用可放置属性。
只需按一个按钮和每个部分的div即可重新进行操作。
以下是解决方案:
$('#host-groups').on('shown', function() {
$('#host-groups').find('.accordion-group').each(function() {
$(this).attr('id').droppable();
});
});
$('#host-groups').on('hidden', function() {
$('#host-groups').find('.accordion-group').each(function() {
$(this).attr('id').droppable();
});
});
/捂脸