Bootstrap:手风琴在扩展时剥离ui-droppable类

时间:2012-09-27 18:03:59

标签: javascript jquery twitter-bootstrap droppable

Bootstrap新手,手风琴有些问题。希望有人能帮我解决它。

基本上我有一个空的手风琴和一个下拉菜单。每次在下拉菜单中进行选择时,都会将其添加到手风琴中,标记为.accordion-group,但空格为.accordion-body div。之后,此accordion-group设置为droppable,并自动添加.ui-droppable类。

之后,我可以将一堆其他div拖放到.accordion-group中,并将这些div附加到此特定组的.accordion-body。这部分工作正常,但是,只要我点击展开任何给定的.accordion-group.ui-droppable类就会从所有这些中删除。

如何阻止它删除.ui-droppable类??

重现的步骤:

  1. 使用Bootstrap页面中的html标记: (出于某种原因,我无法通过用4个空格缩进来将HTML格式化为代码,所以我只是将链接粘贴到它上面) http://twitter.github.com/bootstrap/javascript.html#collapse

  2. 添加JS,使组可以放置

    $('#accordion2').find('.accordion-group').each(function() { $(this).droppable(); });

  3. 检查元素以确保.ui-droppable类已设置

  4. 单击以展开组。任何小组。

  5. 检查元素。 {{1>}来自所有人

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();

    });
});

/捂脸