元素的GetBBox大小返回0

时间:2018-02-12 12:43:52

标签: javascript jquery svg snap.svg

我试图在Javascript中获取Snap SVG元素的高度和宽度。当我尝试这个时,它返回0,除非我将这个元素添加到一个组。为此,我使用的是Snap.svg。

通过执行以下操作选择SVG元素:

Size1 = 12*nchar(V(g)$name)
plot.igraph(g, layout = -coords[,2:1],
    vertex.shape="rectangle",
    vertex.size=Size1,
    vertex.size2=5,
    vertex.color=NA,
    vertex.frame.color="green",
    vertex.label.color="black",
    vertex.label.family="sans",
    edge.label.color="white",
    edge.arrow.mode=0,
    edge.width=3,
    asp=2.5
    )

我的HTML看起来像:

on(self.element, 'mousemove', function (e) {

   var item = null;

   if (item === null) {
       item = paper.use(paper.select('#myId')); //Create svg
   }

   var itemBBox = item.getBBox();
   itemBBox.x //returns 0
   itemBBox.y //returns 0
   itemBBox.height //returns 0
   itemBBox.width //returns 0

}

所以itemBBox中的每个变量都是0,除非我将它添加到一个组:<svg> <symbol id="myId"><path ...></path></symbol> </svg>

为什么要这样,是否需要将单个项目添加到组中才能获取选择的大小?

0 个答案:

没有答案