我是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);
}
});
但是这会发生什么
连接被删除但看起来源端点仍然存在但是,如果我拖动项目,点就会停留在同一个地方,好像它已经没有对该项目的引用了,这是好的,因为连接是删除,但它不好,因为该点不应该在那里。
对此有任何意见吗? 谢谢。
答案 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);
}
});
它现在正常运作。