4

以下是事实:

  1. 我有一个带有圆角的 div,其中包含一个带有圆角的 SVG 元素,可以创建一个圆圈。

  2. 在圆圈内 (SVG) 我正在绘制四个多边形,它们构成不同的圆形象限。

  3. 多边形通过改变颜色来响应悬停 - 因此当用户鼠标悬停在圆圈中的特定象限上时 - 它会亮起。

  4. SVG 和div包含 SVG 的都有overflow:hiddenCSS 指令。

  5. 当我将鼠标悬停在圆外的区域(但在多边形的剪裁矩形内)时 - 相应的象限会亮起......

为什么即使我将鼠标悬停在剪切区域上,元素也会响应鼠标悬停?我怎样才能确保这不会发生?(不创建遮挡透明元素 - 我希望能够在下面的图层中触摸某些东西......)。

编辑: 按要求添加小提琴:

http://jsfiddle.net/JVQD8/

在小提琴中 - 请注意周围的 div 用红线接壤。多边形(蓝色)被红色边框(div)剪裁,当您将鼠标悬停在多边形上时,它会变成较浅的蓝色阴影。如果在多边形上,多边形会在红色圆圈边界区域之外突出显示。

编辑:

正如 Robert Longson 所说,Firefox 完全没有问题。但是,在 chrome 中,问题如上所述,在 IE 中,SVG 多边形甚至没有响应悬停。

所以关于 chrome 的问题仍然存在 - 仅在 chrome 中。我怎么知道这是我应该报告的错误,还是设计的行为差异?

4

1 回答 1

0

尝试使用指针事件属性。

https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointer-events

于 2014-03-18T13:07:55.630 回答