From 0cc8b7f4974d150de7ccf6f27b17bfce80660a81 Mon Sep 17 00:00:00 2001 From: liulinboyi Date: Fri, 17 Jan 2025 18:12:05 +0800 Subject: [PATCH] fix: MultiDrag plugin in nested Sortables --- plugins/MultiDrag/MultiDrag.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/MultiDrag/MultiDrag.js b/plugins/MultiDrag/MultiDrag.js index 672a38aef..062f935dc 100644 --- a/plugins/MultiDrag/MultiDrag.js +++ b/plugins/MultiDrag/MultiDrag.js @@ -244,7 +244,10 @@ function MultiDragPlugin() { // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted // while folding, and so that we can capture them again because old sortable will no longer be fromSortable - parentEl.appendChild(multiDragElement); + if (!multiDragElement.contains(parentEl)) { + // multiDragElement can't contains parentEl + parentEl.appendChild(multiDragElement); + } }); folding = true; @@ -423,7 +426,10 @@ function MultiDragPlugin() { if (children[multiDragIndex]) { parentEl.insertBefore(multiDragElement, children[multiDragIndex]); } else { - parentEl.appendChild(multiDragElement); + if (!multiDragElement.contains(parentEl)) { + // multiDragElement can't contains parentEl + parentEl.appendChild(multiDragElement); + } } multiDragIndex++; });