我有一个“ Canvas ”,我允许用户在其中添加可拖动的框并将它们与 jsPlumb 连接起来。我想让他们在某个时间点删除其中一个框。为了解决这个问题,我首先分离所有连接并从目标元素中删除端点,这工作正常

jsPlumb.detachAllConnections(targetBoxId);
jsPlumb.removeAllEndpoints(targetBoxId);

然后我删除实际的 DOM 元素:
$(targetEl).remove();

在这一点上,jsPlumb 开始吓坏了,不允许我再拖动剩余元素:


我可以不断调整框的大小并建立新的连接,但拖动元素不断失败并发出上述错误。

有什么我做错了吗?换句话说,在“可拖动”环境中是否有更合适的方法来删除 jsPlumb 元素?

最佳答案

您确实删除了连接和端点。但是在从 DOM 中 remove() 对象之前,您必须 jsPlumb.detach() 它:

jsPlumb.detachAllConnections(targetBoxId);
jsPlumb.removeAllEndpoints(targetBoxId);
jsPlumb.detach(targetBoxId); // <--
targetBoxId.remove()

关于javascript - jsPlumb:删除可拖动元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15147291/

10-09 16:07