我正在为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?");
}
};
当我现在移动通过连接与自定义叠加层连接的任何原始节点时,端点不会与标签一起移动,而是在创建它时保持静态。我可以以某种方式以编程方式触发它的运动,还是我错过了一些配置选项?
答案 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] });
我希望这些信息可以帮到你。