我使用d3.js作为here的可折叠树结构
现在我的目标是在最终的孩子上添加一个点击事件(即) A的儿子或 A的女儿
例如,我需要在单击无子节点时创建警告框。
我试图在点击功能中添加一个条件,但它仅适用于我的第二次点击,而且我不知道为什么第一次点击时警报框没有起作用。
有人可以解释一下为什么会这样吗?什么是正确的方法呢?
MY CLICK FUNCTION
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);
}
答案 0 :(得分:1)
而不是使用
if (d.children === null){
alert(d.id);
}
使用
if (!d.children){
alert(d.id);
}
这是因为d.children
将undefined
,但您正在检查null
。由于undefined
和null
等同于false
!d.children
,检查将会成功。