使用Raphael JS的跨浏览器问题

时间:2012-12-28 05:23:13

标签: javascript cross-browser raphael

我在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中,工具提示会在div的左上角创建,包含我的raphael JS文件,而不是根据需要在圆圈的中心。

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

1 个答案:

答案 0 :(得分:1)

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

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

jsFiddle

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

虽然我们都在这里:我强烈建议您使用绝对定位的div作为工具提示。 HTML处理包装文本和调整工具提示的大小,以便比SVG文本元素更容易地容纳不同数量的文本。见this answer。 (无论你使用什么,你仍然需要访问圆圈的坐标。)