这是我的 Demo in JS Fiddle
HTML
<div id="a" class="a window" style="width: 100px; height: 100px; border: solid 1px">
</div>
JQuery的
var a = $("#a");
var b = $("#b");
//Setting up drop options
var targetDropOptions = {
activeClass: 'dragActive'
};
//Setting up a Target endPoint
var targetColor = "#316b31";
var targetEndpoint = {
anchor: "TopCenter",
endpoint: ["Dot", { radius: 8}],
paintStyle: { fillStyle: targetColor },
isSource: true,
scope: "green dot",
connectorStyle: { strokeStyle: targetColor, lineWidth: 8 },
connector: ["Flowchart", { curviness: 63}],
maxConnections: -1,
isTarget: true,
dropOptions: targetDropOptions
};
//Setting up a Source endPoint
var sourceColor = "#ff9696";
var sourceEndpoint = {
anchor: "BottomCenter",
endpoint: ["Dot", { radius: 8}],
paintStyle: { fillStyle: sourceColor },
isSource: true,
scope: "green dot",
connectorStyle: { strokeStyle: sourceColor, lineWidth: 8 },
connector: ["Bezier", { curviness: 63}],
maxConnections: -1,
isTarget: true,
dropOptions: targetDropOptions
};
jsPlumb.bind("ready", function () {
//Set up endpoints on the divs
jsPlumb.addEndpoint($(".window"), targetEndpoint);
jsPlumb.addEndpoint($(".window"), sourceEndpoint);
jsPlumb.draggable($(".window"));
jsPlumb.animate($("#a"), { "left": 50, "top": 100 }, { duration: "slow" });
});
查询 - 如何在JS-Plumb中限制在同一div中建立连接?
答案 0 :(得分:3)
我认为表现明智这是一种更好的方式。您可以在实际创建连接之前做出决定。
jsPlumb.bind("beforeDrop", function(connection) {
return connection.sourceId !== connection.targetId;
});
答案 1 :(得分:0)
jsPlumb.bind("jsPlumbConnection", function (CurrentConnection) {
if (CurrentConnection.connection.targetId ==
CurrentConnection.connection.sourceId)
jsPlumb.detach(CurrentConnection.connection);
else
init(CurrentConnection.connection);
});