2016-07-18 34 views
1

我画一个简单的多边形,我想,当用户点击多边形D3js单击多边形内部

CODE

poly = [{"x":0.0, "y":25.0}, 
     {"x":28.5,"y":23.4}, 
     {"x":33.0,"y":21.0}, 
     {"x":39.0,"y":1.5}]; 

    svg.selectAll("polygon") 
    .data([poly]) 
    .enter().append("polygon") 
    .attr("points",function(d) { 
     return d.map(function(d) { 
      return [scaleX(d.x),scaleY(d.y)].join(","); 
     }).join(" "); 
    }) 
    .attr("stroke","white") 
    .attr("stroke-width",1) 
    .attr("fill", "none") 
    .attr("class", "feature") 
    .on("click", function(d){ alert("HEO"); }); 

单击功能仅是内部展示一种与数据工具提示当点击定义多边形的4个点之一时调用。我怎样才能检测里面的多边形?

+0

填补这个多边形与任何颜色搭配,并设置不透明度为零。 –

+0

@GerardoFurtado更好的建议是操纵指针事件属性。 –

+0

的确,更好的建议。 –

回答

2

设置pointer-events属性可见即.attr("pointer-events", "visible")让点击事件被处理,即使内部没有填充

+0

这么简单,它的作品!谢谢 – Weedoze