带有“jQuery Ui Sortable”的Uncaught HierarchyRequestError

时间:2014-03-23 10:27:25

标签: javascript jquery jquery-ui nested jquery-ui-sortable

我尝试制作可排序的嵌套容器,但我遇到了jQuery UI Sortable插件的问题,我找不到合适的解决方案。

我简化了我的问题,这是代码:

<div id="composition">
    <div class="aContainer">
        <div class="aContainer"></div>
    </div>
    <div class="aContainer"></div>
</div>

<script>
$("#composition").sortable({
    connectWith: ".aContainer"
});

$(".aContainer").sortable({
    connectWith: "#composition, .aContainer"
});
</script>

<style>
#composition
{
    padding: 15px;
    border: dotted 1px red;
}

.aContainer
{
    padding: 15px;
    border: solid 1px green;
}
</style>

您可以在此处尝试:http://jsfiddle.net/ekSxg/

将绿色容器拖出红色容器。你应该有以下javascript错误:Uncaught HierarchyRequestError:无法执行&#39; insertBefore&#39; on&#39; Node&#39;:新的子元素包含父元素。

你知道这个问题吗?你有解决方案吗?这是一个错误吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

要创建嵌套可排序元素作为可排序容器和可排序元素,需要有一个帮助程序:clone和placeholder。排序时,检查位置占位符是否为0然后重新附加占位符以帮助拖动容器知道插回的位置并避免错误

Uncaught HierarchyRequestError: Failed to execute 'insertBefore' on 'Node': The new child element contains the parent.

这是关于小提琴的测试: http://jsfiddle.net/0umjf5tc/1/