0

我在 raphael JS 中创建一个矩形元素作为由 raphael JS 生成的 SVG 圆形元素的工具提示。我无法使用 Internet Explorer 中的以下代码访问圆心的坐标(我需要放置矩形工具提示)。

var c = {};
c.x = parseInt(c_element.node.attributes[0].nodeValue);
c.y = parseInt(c_element.node.attributes[1].nodeValue);

//code for the rectangle element tooltip
r = paper.rect(c.x,c.y,50,50);

它在 Firefox 中运行良好。但在 IE 中,工具提示是在包含我的 raphael JS 论文的 div 的左上角创建的,而不是根据需要在圆圈的中心创建。

如何解决这个跨浏览器问题?请帮忙..

4

1 回答 1

1

我不确定为什么 IE 不喜欢这个,但有一个更简单的方法:

c.x = c_element.attr("cx");
c.y = c_element.attr("cy");

jsFiddle

如果您将 Raphael 对象记录到控制台,您可以查看“attrs”属性以查看其中的内容。每种类型的 Raphael 对象都不同。

虽然我们都在这里:我强烈建议您为工具提示使用绝对定位的 div。与 SVG 文本元素相比,HTML 可以更轻松地处理文本换行和调整工具提示大小以适应不同数量的文本。看到这个答案。(无论您使用什么,您仍然需要访问圆的坐标。)

于 2012-12-28T16:08:05.633 回答