我正在使用 d3.js 来实现 here 中的可折叠树结构
现在我的目标是在最后一个 child (即) Son of A 或 Daughter of A
上添加点击事件
例如,我需要在单击无子节点时创建一个警报框。
我尝试在单击函数中添加一个条件,但它仅在第二次单击时有效,并且我不明白为什么警报框在第一次单击时没有启动。
有人可以解释一下为什么会这样吗?正确的方法是什么?
我的点击功能
function click(d) {
if (d.children) {
d._children = d.children;
d.children = null;
} else {
d.children = d._children;
d._children = null;
if (d.children === null){
alert(d.id);
}
}
update(d);
}
最佳答案
而不是使用
if (d.children === null){
alert(d.id);
}
使用
if (!d.children){
alert(d.id);
}
这是因为 d.children
将为 undefined
,但您正在检查 null
。由于 undefined
和 null
等于 false
!d.children
检查将会成功。
关于javascript - 如何在可折叠树的 d3.js 子级上添加点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48503847/