2016-07-18 32 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