我是javascript / flask的初学者,我正在尝试使用这个d3树形图示例:https://bl.ocks.org/mbostock/4063570
我想要的是,当点击一个节点时,将父节点返回到烧瓶应用服务器。
例如:如果我点击display
节点,则服务器获取“flare,display
”
如果单击cluster
节点,则服务器获取“flare,analytics,cluster
”
答案 0 :(得分:2)
获取被点击节点的父母非常简单。只需使用ancestors()
,即:
返回祖先节点的数组,从该节点开始,然后是每个父节点,直到根节点。
所以,在你的情况下......
node.on("click", function(d){
console.log(d.ancestors())
});
..将以控制台的形式显示控制台中的所有祖先。
这是分叉的bl.ocks:https://bl.ocks.org/anonymous/e36d4af364642a70818987941aa192c8/c75e620e662a6899d8df34c287fc5ea00d049513
在该代码中,我将映射数组以获取每个节点的id
属性。
答案 1 :(得分:1)
您可以对点击的数据进行递归:
if (t>1 && t1<temp->left->a);
return right(temp);
if (t1<-1 && t1>temp->right->a);
return left(temp);
if (t<-1 && t1<temp->right->a);
return rl(temp);
if (t>1 && t1>temp->left->a);
return lr(temp);
工作示例here