jsPlumb:如何选择特定的连接器

时间:2013-03-11 19:28:46

标签: jsplumb

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

我的具体用例如下:

如果用户单击连接器,则会为其提供一个对话框,允许他们编辑连接。 (即设置标签名称,删除连接)。现在,如果他们设置标签或删除连接,我被迫分离我的图表中的所有内容,然后重新绘制所有内容。这种方法有效,只需分离已修改的一个连接或只是更改其标签就可以看起来更清晰。

想法?

2 个答案:

答案 0 :(得分:2)

据我了解你的问题,你想在用户点击它时分离连接。

您需要做什么:

  1. 在与jsPlumb events

  2. 的连接上注册“click”侦听器
  3. 触发点击事件后,请使用jsPlumb.detach     触发事件的连接,这将删除它,而离开     终点未受影响。

  4. 以下是我使用的代码示例:

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

    Original demo - Updated Demo

答案 1 :(得分: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;
            }
        }

    })