2014-07-06 145 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