我正在玩jsplumb,但我无法删除只有id为一个div的两个div之间的连接。
答案 0 :(得分:10)
如果您有多个来自或来自元素的连接,则分离所有连接可能不是删除连接的最佳解决方案。有一个(没有很好的文档记录)函数来分离一个连接:
jsPlumb.detach(connection, {
fireEvent: false, //fire a connection detached event?
forceDetach: false //override any beforeDetach listeners
})
在我的示例中,我想在单击连接器时删除连接:
jsPlumb.bind('click', function (connection, e) {
jsPlumb.detach(connection);
});
答案 1 :(得分:7)
我在文档中找到了解决方案(http://jsplumb.org/doc/usage.html)
jsPlumb.detachAllConnections("elementId");
答案 2 :(得分:6)
要删除连接,请使用以下代码:
jsPlumb.deleteConnection(con)
出于某种原因,分离对我不起作用。他们的文档中没有提到上述方法,可能他们忘了更正他们的文档。
答案 3 :(得分:2)
如果已知源div或目标div id,则可以删除如下连接:
var conn = jsPlumb.getConnections({
//only one of source and target is needed, better if both setted
source: sourceId,
target: targetId
});
if (conn[0]) {
jsPlumb.detach(conn[0]);
}
您还可以使用jsPlumb.getAllConnections()来获取所有连接的数组,并测试每个连接的sourceId或targetId以获得您需要的完全连接;
答案 4 :(得分:2)
在删除了与元素之间的所有端点连接后,您需要将其分离,如第3行所示
jsPlumb.detachAllConnections(divID);
jsPlumb.removeAllEndpoints(divID);
jsPlumb.detach(divID);
divID.remove()
答案 5 :(得分:0)
此代码删除了我正在开发的游戏中的所有“错误”连接。 我希望它有所帮助
var wrong_connections = new Array(DB_ID, ANOTHER_DB_ID);
var connections = jsPlumb.getConnections();
$.each(connections, function(index, value) { // going through all connections
var source_id = value.source.attr('id').substring(28); // I need the ID from DB so I`m getting it from the source element
for (var a = 0; a < wrong_connections.length; a++) {
if (source_id == wrong_connections[a]) {
jsPlumb.detach(value);
}
}
});
答案 6 :(得分:0)
您好,您可以参考: Detach connection jsPlumb
如果单击了连接,则此代码块允许分离连接:
jsPlumb.bind("click", function(conn) {
jsPlumb.detach(conn);
});
答案 7 :(得分:0)
jsPlumb.deleteConnectionsForElement(elementId)
的工作原理。虽然它已经很久了,但我想补充一点,找出图书馆有哪些方法,只要它具有足够的自我描述性就足够了。
答案 8 :(得分:0)
我想更新答案。对于2.5版,如果您使用
jsPlumb.detach()
您可能会收到以下错误消息:jsPlumb.detach()不是函数。我也试试
jsPlumb.deleteConnection(conn)
确实删除了连接,但是,我不确定为什么端点只是从div中分离出来。最后,它由
解决instance.deleteConnection(conn)
答案 9 :(得分:0)
事实上,您可以使用sourceId和targetId
找到您的连接var connections = jsPlumb.getConnections({
source: sourceId ,
target:targetId
});
这将返回一个jsPlumb连接数组,因此您可以删除与此源和目标ID相关的所有连接。
for(var i=0;i < connections.length;i++) {
jsPlumb.deleteConnection(connections[i]);
}
答案 10 :(得分:0)
删除连接对我有用
jsPlumb.bind("click", function(conn) {
// alert(JSON.stringify(data));
jsPlumb.deleteConnection(conn);
});