2015-07-10 169 views
3

我試圖刪除通過鏈接和Rects發生的鼠標懸停操作。禁用鼠標懸停交互JointJS圖

我嘗試將interactive: false添加到joint.dia.Paper對象 - 這沒有完全幫助。我仍然看到鼠標懸停的變化。我想鏈接(特別是)不在鼠標上響應。

我該如何做到這一點?

+0

您可以添加一個事件偵聽器到鏈接和rects容器,它將處理'onmouseover'事件。如果在你不想要的元素上發生'mouseover'事件,那麼你通過返回'false'來阻止它。我希望我能正確地解決你的問題。 – sunpietro

+0

@sunpietro the jointjs文檔不會顯示如何添加'onmouseover'監聽器。你能舉個例子嗎?我可以使用'link.on('change:vertices',someChange)'(當頂點被拖動時調用'someChange'函數來檢測變化。我怎樣才能做到這一點鼠標懸停? –

+0

是不是隻是一個CSS的東西?只需刪除任何懸停的CSS屬性... –

回答

2

要理解這一點,您必須瞭解如何構建鏈接的SVG標記。文檔解釋了它相當不錯:

http://jointjs.com/tutorial#link-styling

如果您需要了解的CSS類結構更詳細的檢查,我發現它很有用檢查元素在你的瀏覽器。

一旦你明白了這一點,你會看到你可以做你所要求的使用CSS。爲了演示看這裏:

http://jsfiddle.net/azt8jpam/1/

對於鏈接,您需要設置display: noneconnection-wraplink-toolsmarker-verticesmarker-arrowhead類。

爲了完整,您還可以在形狀上設置cursor: auto。例如

.element.basic.Rect { 
    cursor: auto 
}