我试图实现ui,允许用户拖放嵌套组并将项目移动到它,但无论我尝试什么,仍然会出现错误" Uncaught HierarchyRequestError:无法执行&# 39;的insertBefore' on'节点':新的子元素包含父元素。"
这是我的js代码(可排序设置):
$("#container").find(".items, .group").sortable({
connectWith: ".items, .group",
tolerance: "touch",
helper: 'clone',
opacity: 0.01,
placeholder: {
element: function (clone, ui) {
return $('<span class="placeholder">' + clone[0].innerHTML + '</span>');
},
update: function () {
return;
}
},
sort: function (event, ui) {
/* check if placeholder position is 0 add back placeholder */
var pos = ui.placeholder.position();
if (pos.left == 0 & pos.top == 0) {
$(ui.item).before(ui.placeholder);
}
},
stop: function (event, ui) {
},
receive: function (ev, ui) {
if (ui.item == $(this)) {
ui.sender.sortable("cancel");
}
}
});
你可以尝试here (jsfiddle)。如果将组移出容器元素,它将消失,并且在js控制台中会出现该错误。