2014-07-06 186 views
2

連接標籤我使用JSPlumb連接一堆塊的,我用我能夠設置標籤的連接:JSPlumb顯示懸停

JSPLUMB_INSTANCE.bind("connection", function (info) { 
    info.connection.getOverlay("label").setLabel("w="+width+"<br>p="+pipelining); 
}); 

這樣的標籤總是連接上可見。 有沒有辦法讓標籤只出現在鼠標懸停上?

回答

6

我已經爲你所描述的同樣的挑戰,我的解決辦法是這樣的:

function setConnectionLabel(connection, label) { 
    connection.bind("mouseenter", function(conn) { 
     conn.addOverlay(["Label", { label: label, location:0.5, id: "connLabel"} ]); 
    }); 

    connection.bind("mouseout", function(conn) { 
     conn.removeOverlay("connLabel"); 
    }); 
} 

所以你的情況這應該做的伎倆:

JSPLUMB_INSTANCE.bind("connection", function (info) { 
    setConnectionLabel(info.connection, "Labeltext"); 
}); 

讓我知道如果它適合你,歡呼!

更新:使用 「鼠標懸停」 而不是 「的mouseenter」
New Documentation

+1

感謝。在我看來是mouseexit而不是mouseleave。 – Yster

+0

現在是鼠標移出。 –

+0

如果連接上有另一個標籤,但始終可見,並且如果將鼠標懸停在該標籤上,而不是將連接傳遞給「鼠標懸停」回調,則最終會生成一個標籤。如何從標籤獲得父連接? – user2705463