jsPlumb - 与sourceId == targetId的分离连接

时间:2015-01-02 17:50:23

标签: javascript jquery jsplumb

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

但是这会发生什么  enter image description here

连接被删除但看起来源端点仍然存在但是,如果我拖动项目,点就会停留在同一个地方,好像它已经没有对该项目的引用了,这是好的,因为连接是删除,但它不好,因为该点不应该在那里。

对此有任何意见吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

我用以下方法解决了这个问题:

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

它现在正常运作。