【发布时间】:2013-05-15 08:02:06
【问题描述】:
我需要做的是了解鼠标是否离开 SVG 对象(路径,即它不是矩形 - 不能仅使用偏移,而不是圆形 - 不能使用半径和中心位置等)。我不能使用鼠标离开/进入事件,因为我有一个始终位于所有元素之上的鼠标指针。显然我也不能只使用 elementFromPoint - 因为它提供了顶层元素。
所以问题: 有没有办法了解坐标 (X,Y) 是否在特定元素 $("#element") 中。
更新:
我将我当前的代码上传到我的网站http://pekap.co/example/ 我没有创建 jsfiddle,因为我有 ebmed 的 SVG 对象。 在那里你可以找到我的 JS、我使用的 svg 对象等。
如果您转到 svg 对象,它会更改其颜色并出现指针(橙色圆圈)。目标是在我们离开/进入时更改 SVG 区域的颜色,并仅在 SVG 区域内的鼠标下显示橙色圆圈。
而目前我可以完成其中一个目标(使用不同的代码)
UPD 2。
Erik Dahlström 为我提供了几乎完美的解决方案:在 CSS 中将指针事件设置为无。我现在就去做,但是为了让我的一天更完美,如果有一种方法可以检测圆圈的任何部分何时超出 SVG 区域,那就太好了。
【问题讨论】:
-
检查元素的边界框是否有用 (
.getBBox())? -
您是否有示例(如果可能,请提供代码示例!)来说明您要实现的目标?可能有更简单的方法。
-
不幸的是我的对象不是矩形,所以我猜 .getBox 不合适。我将文件上传到我的网站并插入了链接。希望现在更清楚了
标签: javascript jquery html svg d3.js