2015-07-10 76 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 
}