Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3js单击多边形内部_Javascript_Jquery_D3.js - Fatal编程技术网

Javascript D3js单击多边形内部

Javascript D3js单击多边形内部,javascript,jquery,d3.js,Javascript,Jquery,D3.js,我正在画一个简单的多边形,我想在用户单击多边形内部时显示一种带有数据的工具提示 代码 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("poi

我正在画一个简单的多边形,我想在用户单击多边形内部时显示一种带有数据的工具提示

代码

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个点之一时,才会调用“单击”功能。如何检测多边形内部的点击?

将属性设置为可见,即
.attr(“指针事件”,“可见”)
,以便即使内部未填充,也会处理点击事件

使用任何颜色填充此多边形,并将不透明度设置为零。@GerardoFurtado更好的建议是操作指针事件属性。实际上,更好的建议。