尝试在d3树布局中访问节点的父节点,我的代码看起来像这样
这个函数应该显示它接受的父名称作为参数
function draw(a){
console.log(a);
}
以下是在节点的mouseover事件中调用它的函数,请参见最后一行
node.append("circle")
.attr("class", function (d) {
var value;
if(d.depth == 1){value = "marker";}
else{value = "else";}
return value;}
)
.attr("r", function(d){return d.depth == 1?d.children.length:3})
.style("fill", function (d) {
return d.depth>1?colors(d.parent.name):colors(d.name);})
.style("stroke", "none")
.on("mouseover", "draw(function(d){return d.parent.name;})");
但是我得到了上面的错误。任何人?
答案 0 :(得分:3)
您的"mouseover"
处理程序看起来很像问题。您正在传递一个字符串而不是一个函数,该函数仅在onmouseover
DOM元素属性中起作用(即使是混乱的行为也是不好的做法)。尝试改为
on("mouseover", function (d) {
draw(d.parent.name);
});
答案 1 :(得分:0)
你会想做这样的事情:
.on("mouseover", function(d) {
draw(d.parent.name);
});