jsPlumb连接自定义叠加层 - 端点未移动

时间:2013-05-31 15:26:13

标签: jsplumb

我正在为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);

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

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

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

1 个答案:

答案 0 :(得分:0)

我也有这个问题。我能用

修复它
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] });

我希望这些信息可以帮到你。