这就是我的所作所为:
var path = svg.selectAll(".arc")
.data(pie(data).sort(null))
.enter().append("g")
.attr("class", "arc")
.append("path").style("stroke-width", 0)
.on("click", function(d){console.log(d)})
.style("stroke", "white")
.attr("d", arc)
.style("fill", color)
.style("opacity", function(d){ return(d.data.name == "ess")?0.6:1})
.on("mouseover", function(d,i){ alert(1);})
.on("mouseout", animateSecondStep);
但这些事件都没有解雇
这是JSFiddle https://jsfiddle.net/4pmdaaaz/1/
答案 0 :(得分:1)
看起来像这一行:
document.getElementById(element).innerHTML += "<div class='result visible'><div class='giant-text' style='font-size:32px;'>" + precentage + "%</div> </div>";
正在搞乱互动。没有它的工作,更新小提琴:https://jsfiddle.net/reko91/4pmdaaaz/3/
由于您更改了id为'first'的元素的innerHTML
,这是饼图的容器。我绝对建议不要使用innerHTML而是使用textContent。但在这种情况下,我建议创建一个新的div并更改该div的样式以显示,在这种情况下,33%:)
希望有所帮助