我试图在d3中将两个不同的文本放在一个矩形中。 我的第一个文本是一个命令(例如:save),而seconde就是它的快捷方式(ctrl-s)。 我想在左边有命令,在右边有快捷方式,就像普通菜单一样。 我还想制作矩形的大小以适应两个文本的最大尺寸,这样它就可以很漂亮。
我试过这个
nodeEnter.selectAll("text.labels")
.data(labels)
.enter()
.append("text")
.attr("dy", ".45em")
.attr("y", barHeight/2)
.attr("dx" , whereFun)
.style("visibility", visible)
.text(function(d) { return d.name; });
nodeEnter.selectAll("text.values")
.append("text")
.attr("dy", ".45em")
.attr("y", barHeight/2)
.attr("dx", function(d) { return d.width + 10; })
.text(function(d) {if (d.hotkeyChar) { return racc[d.modifiers] + "+" + d.hotkeyChar;}});
var maxTextWidth = d3.max(texts, function() {
return d3.select(this).node().getBBox().width;
});
nodeEnter.append("rect")
.attr("height", barHeight)
.attr("width", maxTextWidth)
.style("fill", color)
.on("click", click)
.on('mouseover', tip.show)
.on('mouseout', tip.hide);
但它没有用......两个文本阻止了一切,它没有显示任何东西。 (不是控制台中的错误)。 希望你明白我需要什么,谢谢你。