感覺jsPlumb最容易最直觀是重寫jsPlumb的默認配置。若是你沒這麼作,你不得不每次調用都得重寫這些值。connect
和addEndpoint
的每一個參數都和jsPlumb的默認值有關。javascript
默認設置存儲在jsPlumb.Defaults
,是個javascript對象。有效健,初始值以下:java
Anchor : "BottomCenter", Anchors : [ null, null ], ConnectionsDetachable : true, ConnectionOverlays : [], Connector : "Bezier", Container : null, DoNotThrowErrors : false, DragOptions : { }, DropOptions : { }, Endpoint : "Dot", Endpoints : [ null, null ], EndpointOverlays : [ ], EndpointStyle : { fillStyle : "#456" }, EndpointStyles : [ null, null ], EndpointHoverStyle : null, EndpointHoverStyles : [ null, null ], HoverPaintStyle : null, LabelStyle : { color : "black" }, LogEnabled : false, Overlays : [ ], MaxConnections : 1, PaintStyle : { lineWidth : 8, strokeStyle : "#456" }, ReattachConnections : false, RenderMode : "svg", Scope : "jsPlumb_DefaultScope"
注意:EndpointHoverStyle
的fillStyle
是null
。也就是說jsPlumb使用來自Connector的hover style的strokeStyle
來填充Endpoint。數組
EndpointStyle
和EndpointStyles
你均可以定製,你能夠讓每一個鏈接的Endpoint都不同。Endpoint
和Endpoints
也同樣。jsPlumb會先檢查用戶的Endpoint
和EndpointStyle
數組,而後再檢查默認的。ssh
你能夠經過importDefaults
方法覆蓋默認值:svg
jsPlumb.importDefaults({ PaintStyle : { lineWidth:13, strokeStyle: 'rgba(200,0,0,0.5)' }, DragOptions : { cursor: "crosshair" }, Endpoints : [ [ "Dot", { radius:7 } ], [ "Dot", { radius:11 } ] ], EndpointStyles : [{ fillStyle:"#225588" }, { fillStyle:"#558822" }] });
加載並執行這段代碼後,就會獲得效果。code
Anchor 對於那些沒有聲明Anchor的Endpoint,對Connection的source和target也適用。對象
Anchors 全部Connection的source和target的Anchorsip
Connector 給默認Connector使用get
ConnectionsDetachable Connections是否可經過鼠標分離io
Container
DoNotThrowErrors 當Anchor, Endpoint or Connector被請求卻不存在時是否報錯
ConnectionOverlays 默認Connection的遮罩
DragOptions 可經過jsPlumb.draggable
配置
DropOptions 配置Endpoint是否能夠drop鏈接
Endpoint Endpoint的定義
Endpoints jsPlumb.connect
的source 和 target
EndpointOverlays 默認全部的Overlays
EndpointStyle
EndpointStyles
EndpointHoverStyle
EndpointHoverStyles
HoverPaintStyle
LabelStyle
LogEnabled
Overlays
MaxConnections
PaintStyle
ReattachConnections
RenderMode
Scope
經過 jsPlumb.getInstance
jsPlumb.getInstance({ PaintStyle : { lineWidth:13, strokeStyle: 'rgba(200,0,0,100)' }, DragOptions : { cursor: "crosshair" }, Endpoints : [ [ "Dot", { radius:7 } ], [ "Dot", { radius:11 } ] ], EndpointStyles : [ { fillStyle:"#225588" }, { fillStyle:"#558822" } ] });