D3 Zoomable Pack Layout隐藏了最后的内部气泡

时间:2016-03-02 21:06:20

标签: jquery d3.js

我正在尝试在最后一个内部泡泡上进行onclick事件。我遇到了2个问题,第一个是如果我删除这一行:

.label, .node--root, .node--leaf { pointer-events: none; }

它放大我点击的最后一个内部气泡,但文字消失了。如何向最后一个内在孩子添加onclick事件? 继承人我的jsfiddle:https://jsfiddle.net/23yaf9qd/

我尝试使用jquery,但它不起作用

$("circle[id^='circle']").click(function () {
     //my rest of code
});

1 个答案:

答案 0 :(得分:0)

如果要在放大内部节点时显示内部节点的名称,可以在数据中添加字段showText,如下所示:

  transition.selectAll("text")
     .each(function(d) {d.showText=( d.parent === focus || ( d === focus && !d.children))})

然后您可以使用d.showText代替测试父级(请参阅https://jsfiddle.net/epkrgdok/

对于您的其他问题:以下行应该有效

  d3.selectAll(".node--leaf").on("click",function(){alert("you've just clicked a leaf")});
然而,它似乎是你的jsfiddle中的一个问题(它确实向节点注册了一个事件,但是它触发了一个“raes未定义”错误,你之前就已经这样了,我对没有任何线索该