3

我似乎无法弄清楚如何选择特定的 jsPlumb 连接器。我知道我可以选择与源或目标相关的所有连接器,但通常我会在同一个源和目标之间有多个连接器,因此在这种情况下我看不到能够选择特定连接器的方法。

我的具体用例如下:

如果用户单击连接器,他们会看到一个允许他们编辑连接的对话框。(即设置标签名称,删除连接)。现在,如果他们设置标签或删除连接,我将被迫分离图表中的所有内容,然后重新绘制所有内容。此方法有效,能够仅分离已修改的一个连接或仅更改其标签似乎更清洁。

想法?

4

2 回答 2

2

据我了解您的问题,您希望在用户单击连接时断开连接。

你需要做什么:

  1. 在与jsPlumb 事件的连接上注册“单击”侦听器

  2. 一旦触发点击事件,在触发事件的连接上使用jsPlumb.detach,这将删除它,同时保持端点不变。

这是我使用的代码示例:

        //connection was established let's add listener
        jsPlumb.bind("jsPlumbConnection", function(info) {

            //get connection from event info
            var connection = info.connection;

            //add on click event
            connection.bind("click", function(conn) {
                jsPlumb.detach(conn);
            });
        });

原始演示-更新的演示

于 2013-03-21T17:48:36.867 回答
0
if(action == "delete"){
        jsPlumb.remove(object_selected, {
            fireEvent: false, 
            forceDetach: false 
        })

或这个:

 $(document).keyup(function(e){
        if(e.keyCode == 46){
            if(connection != null){
                jsPlumb.detach(connection);
                connection = null;
            }

            if(object_selected != null){
                jsPlumb.remove(object_selected);
                object_selected = null;
            }
        }

    }) 
于 2014-08-22T07:07:40.543 回答