如何删除jsPlumb连接

Gig*_*aPr 11 javascript jsplumb

我正在玩jsplumb,但我无法删除只有一个div的id的两个div之间的连接.

phi*_*sch 9

如果您有多个来自或来自元素的连接,则分离所有连接可能不是删除连接的最佳解决方案.有一个(没有很好的文档)功能来分离一个连接:

jsPlumb.detach(connection, {
    fireEvent: false, //fire a connection detached event?
    forceDetach: false //override any beforeDetach listeners
})
Run Code Online (Sandbox Code Playgroud)

在我的示例中,我想在单击连接器时删除连接:

 jsPlumb.bind('click', function (connection, e) {
     jsPlumb.detach(connection);
 });
Run Code Online (Sandbox Code Playgroud)

  • 这个答案已经过时,API中不再存在jsPlumb.detach(),请改用jsPlumb.deleteConnection()(参见Rafik Bari的回复) (4认同)

Raf*_*ari 8

要删除连接,请使用以下代码:

jsPlumb.deleteConnection(con)
Run Code Online (Sandbox Code Playgroud)

出于某种原因,分离对我不起作用.他们的文档中没有提到上述方法,可能他们忘了更正他们的文档.

  • 希望这对某人有帮助 - 如果您删除两个元素之间的连接,然后删除这两个元素,然后创建两个具有相同 ID 的新元素并尝试连接它们,jsplumb 会由于它保留的内部缓存而感到困惑。您必须在 jsPlumb 实例上调用 `.reset()`。 (2认同)

Gig*_*aPr 7

我在文档中找到了解决方案(http://jsplumb.org/doc/usage.html)

jsPlumb.detachAllConnections("elementId");
Run Code Online (Sandbox Code Playgroud)