0

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

基本上我有一个空手风琴和一个下拉菜单。每次在下拉菜单中进行选择时,都会将其添加到手风琴中,标记为满,但div.accordion-group为空。.accordion-body之后,这个手风琴组设置为 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#折叠

  2. 添加 JS,使组可丢弃

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

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

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

  5. 检查元素。.ui-droppable已被所有人拒绝

4

1 回答 1

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

    });
});

/掌脸

于 2012-09-27T21:06:49.060 回答