Svg getComputedTextLength函数总是返回零

时间:2013-06-12 19:16:20

标签: svg d3.js

您好我尝试整合来自

的d3可缩放树形图

http://mbostock.github.io/d3/talk/20111018/treemap.html

getComputedTextLength()总是返回0.我也尝试getBBox(),但它返回一个所有属性为零的对象。

    .text(function(d) { return d.name; })
    .style("opacity", function(d) {
         d.w = this.getComputedTextLength(); 
         return d.dx > d.w ? 1 : 0;
    });

我是否需要将文字包裹在tspan中? 还有什么其他原因可以产生这个?

1 个答案:

答案 0 :(得分:37)

我意识到这已经晚了一年多,但我最近遇到了同样的问题,这可能对某人有所帮助。如果this.getComputedTextLength()元素尚未呈现,或者当容器或其任何父容器的text设置为display时,none会返回0正在呈现text元素。