我正在使用jsPlumb作爲中等大小的項目。儘管文檔在實體解釋方面很薄弱,但我已經完成了該項目,現在我已準備好提供它。jsPlumb在調用setPaintStyle()時刪除直接連接
就在交貨日期之前,我被要求讓連接線變直而不是彎曲。我認爲這將會像向以下jsPlumb連接方法中添加關鍵字那樣簡單:jsPlumb.connect({ connector: 'Straight'... })
...而且是。所以有什麼問題?
我正在處理的這個項目必須允許用戶「選擇」連接線,以便他們可以按下「刪除」按鈕清除他們選擇的連接。我已經允許用戶通過調用jsPlumb的setPaintStyle()
方法,像這樣選擇連接:
// Select/Deselect each connection on click
jsPlumb.bind('click', function (connection, e) {
e.preventDefault();
connection.setPaintStyle({
strokeStyle: 'red'
});
});
可正常工作,只有當線是彎曲的(jsPlumb默認)。
然而,當我點擊他們,如果在connect()
方法connector
選項更改爲「直」,連接是垂直線(其端點彼此對面)完全消失。沒有直接相互對立的端點的其餘直線沒有這個問題。
完全取消連接器選項,或將其值設置爲「貝塞爾」,或者當該選項設置爲「直線」時不調用setPaintStyle()
方法,則點擊的線保持原樣。
這裏是一個jsBin例如:jsPlumb setPaintStyle() with Straight lines bug
起初我以爲這是我的應用程序中的錯誤,但花費了大量的時間後,我跟蹤這個問題下到setPaintStyle()方法。我感到非常有信心,這是一個jsPlumb錯誤,但我不完全確定。在這一點上,這是非常令人沮喪的,因爲唯一阻礙我交付項目的原因是能夠將筆觸顏色更改爲紅色。如果我可以用直線完成這個簡單的任務,那麼我可以繼續前進。我已經考慮過自己的目標SVG路徑節點,並改變筆畫的顏色,但由於jsPlumb使用VML的IE8(ie8是這個項目的要求),我不知道我可以做那。有什麼建議麼?
我們遇到了同樣的問題,但是您的解決方案無法正常工作。 – Qerjiuthn 2016-06-28 08:13:43
非常感謝你這篇文章。它有助於。我修理我的。 http://stackoverflow.com/questions/38068890/get-jsplumb-line-color-after-setpaintstyle – Qerjiuthn 2016-06-28 08:32:00