jsPlumb - 断开与 sourceId == targetId 的连接
jsPlumb - detach connection with sourceId == targetId
我是 jsPlumb 的新手,我在使用具有相同源和目标的连接时遇到了问题。我必须禁止这些类型的连接,我认为最好的方法是:当我完成创建连接时,如果它具有相同的 sourceId 和 targetId,则删除该连接。
我正在这样做:
jsPlumb.bind('connection', function(info) {
console.log('connection bind - From: ' + info.sourceId + ' To: ' + info.targetId);
if (info.sourceId == info.targetId) {
console.log('sourceId == targetId');
jsPlumb.detach(info);
}
});
但是发生的事情是这样的
连接已删除,但看起来源端点仍然存在,但是,如果我拖动该项目,该点将保留在同一位置,就好像它不再引用该项目一样,这没关系,因为连接已删除,但它不正常,因为那个点不应该在那里。
对此有任何意见吗?
谢谢。
我解决了这个问题:
jsPlumb.bind("connectionDragStop", function (connection) {
//console.log("connectionDragStop");
if (connection.sourceId == connection.targetId) {
//console.log('sourceId == targetId');
alert("Connections with the same source and target aren't allowed. The connection will be deleted.");
jsPlumb.detach(connection);
}
});
现在一切正常。
我是 jsPlumb 的新手,我在使用具有相同源和目标的连接时遇到了问题。我必须禁止这些类型的连接,我认为最好的方法是:当我完成创建连接时,如果它具有相同的 sourceId 和 targetId,则删除该连接。 我正在这样做:
jsPlumb.bind('connection', function(info) {
console.log('connection bind - From: ' + info.sourceId + ' To: ' + info.targetId);
if (info.sourceId == info.targetId) {
console.log('sourceId == targetId');
jsPlumb.detach(info);
}
});
但是发生的事情是这样的
连接已删除,但看起来源端点仍然存在,但是,如果我拖动该项目,该点将保留在同一位置,就好像它不再引用该项目一样,这没关系,因为连接已删除,但它不正常,因为那个点不应该在那里。
对此有任何意见吗? 谢谢。
我解决了这个问题:
jsPlumb.bind("connectionDragStop", function (connection) {
//console.log("connectionDragStop");
if (connection.sourceId == connection.targetId) {
//console.log('sourceId == targetId');
alert("Connections with the same source and target aren't allowed. The connection will be deleted.");
jsPlumb.detach(connection);
}
});
现在一切正常。