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);
    }
});

现在一切正常。