1

我正在 jsPlumb 中为我的连接创建自定义覆盖。

connectorOverlays: [
        ["Custom", {
            create: function(component) {
              return connectionNode();
            },
            location:0.5,
            id:"customOverlay"
        }]
    ]

connectionNode() 创建一个 div,其中包含一个选择列表。div 本身应该是可连接的,即我想连接不同连接器的两个标签。

  var overlay_div = $(connection.overlays[0].canvas);
  jsPlumb.addEndpoint(overlay_div, { anchor:[ "Perimeter", { shape:"Rectangle"}] }, relationEndpoint);

连接器覆盖上的端点定义如下:

var relationEndpoint = {
        endpoint:["Dot", {radius:4} ],
        anchor: ["BottomRight","TopLeft", "TopRight", "BottomLeft"],
        paintStyle:{ fillStyle:"#ff33333", opacity:0.5 },
        isSource:true,
        connectorStyle:{ strokeStyle:"#ff33333", lineWidth:3 },
        connector : "Flowchart",
        isTarget:true,
        dropOptions : {
        tolerance:"touch",
        hoverClass:"dropHover",
        activeClass:"dragActive"
    },
        beforeDetach:function(conn) { 
            return confirm("Detach connection?"); 
        }
    };

现在,当我移动通过与自定义覆盖的连接连接的任何原始节点时,端点不会与标签一起移动,而是在创建它的位置保持静态。我可以以某种方式以编程方式触发它的运动,还是我错过了一些配置选项?

4

1 回答 1

1

我也有这个问题。我能够修复它

instance.draggable(jsPlumb.getSelector(".flowchart-demo .window"), { grid: [5, 5] });

".flowchart-demo .window"div的类在哪里。

显示的示例来自 jplumb 页面示例...在我的项目中,此行保留

instance.draggable(jsPlumb.getSelector(".flowchart-demo .clsExecutando"), { grid: [5, 5] });

我希望这些信息对您有所帮助。

于 2013-12-20T18:25:01.153 回答