Я хочу создать область удаления, в которой удаляется любой отброшенный элемент. Следовательно, я реализовал это как отбрасываемое с помощью drop:function(event,ui){ui.helper.remove()}. Это не работает с jsPlumb.draggable().

JSFiddle

Это отлично работает, когда я делаю элементы перетаскиваемыми с помощью JQuery UI $(...).draggable(). Следовательно, похоже, что jsPlumb.draggable($(...),{}) не использует помощника. Вызов ui.draggable.remove() удаляет еще много элементов.

Я думаю, что в документации jsPlumb или StackOverflow нет ничего об этой конкретной проблеме.

Любые идеи? Теперь лучшим решением было бы без лестничной диаграммы elseif для проверки различных реализаций различных плагинов, если это возможно.

1
snugghash 28 Янв 2014 в 06:19

1 ответ

Лучший ответ

Как вы уже упоминали, с перетаскиваемым jQuery все работает нормально, тогда я предлагаю вам заменить перетаскиваемый jsPlumb следующим образом:

droppedEleClone.draggable({
                snap: '.dragme',
                drag:function(e){
                    jsPlumb.repaint($(this));
                }
            });

А также при клонировании убедитесь, что вы указали разные идентификаторы. Элементы DOM с одинаковыми идентификаторами не дают правильного результата. Из-за клонирования одного и того же объекта сложно определить правильный и удалить его. Следовательно, укажите разные идентификаторы.

0
MrNobody007 28 Янв 2014 в 10:15
Я на что-то надеялся от jsPlumb, или почему это вообще происходит. Ваше решение решает проблему, я приму его по прошествии 24 часов.
 – 
snugghash
28 Янв 2014 в 20:03
jsPlumb.draggable переопределяет jQuery.draggable, поэтому функция перетаскивания не будет вызвана. Если вам нужно вызвать функцию .drop, вы должны расширить функцию jQuery.draggable, как указано выше, чтобы вручную обновить соединения jsPlumb. Аналогичный вопрос: stackoverflow.com/questions/20818899/… < / а>
 – 
MrNobody007
29 Янв 2014 в 07:42