0

如何使用 Raphael.js(当用户点击 SVG 路径时)找出点击是在笔划上?

这是路径:

var polycoords = [['M',10,10],['L',30,10],['L',35,50],['L',5,45],['Z]];
var poly = paper.path(polycoords).attr({'stroke':'#00f','stroke-width':5});
poly.click(function(e) {
    // I think here can I find it somehow...
});
4

1 回答 1

0

就您的路径而言,它关闭但没有填充颜色或图案,只有笔触是可点击的,因此问题似乎自行解决。

如果在某些未粘贴的代码行中,您实际上填充了此路径,那么内部也是可点击的,并且提供给点击回调的事件参数没有区别。

两种方式:

  1. 将笔画和内部作为两个不同的路径(一个已填充且没有笔画,另一个未填充但有笔画)并附加单独的点击处理程序

  2. 单击时,围绕您单击的像素创建一个临时路径(其坐标在事件参数中),并使用Raphael.pathIntersection(path1, path2)RaphaelJS 文档:pathIntersection)搜索与现有路径的交点

于 2013-05-12T13:54:44.753 回答