相关疑难解决方法(0)

SVG 'getBBox' 在 jQueryUI 选项卡中失败

我有一个独立的 SVG 图表生成器,适用于所有主要浏览器。但是,我刚刚添加了用于在 jQuery UI 选项卡中显示图表的代码,但代码已损坏。具体来说,'getBBox' 现在通常会失败。它在 FF 中引发异常,在 Opera 中按预期工作,并在 Chrome 和 Safari 中给出错误答案。

我认为,新旧代码之间的区别仅在于我对选项卡内“文档”的理解。在旧的独立代码中,我可以显示一个矩形并按如下方式获取它的 bbox(在所有浏览器中):

var svgDocument;
var svgNS = "http://www.w3.org/2000/svg";
...
if(window.svgDocument == null)
   svgDocument = evt.target.ownerDocument;
...
var lbox = svgDocument.createElementNS(svgNS, "rect");
lbox.setAttributeNS(null, "x",                50);
lbox.setAttributeNS(null, "y",                50);
lbox.setAttributeNS(null, "width",            40);
lbox.setAttributeNS(null, "height",           40);
lbox.setAttributeNS(null, "stroke",           "#E810D6");
lbox.setAttributeNS(null, "stroke-width",     2);
lbox.setAttributeNS(null, "fill-opacity",     1);
lbox.setAttributeNS(null, "stroke-opacity",   1);
lbox.setAttributeNS(null, "stroke-dasharray", 0);
svgDocument.documentElement.appendChild(lbox);     // displays the box
var bbox = lbox.getBBox();                         // gets the box bounds
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试在选项卡内显示时,svgDocument应该是什么并不明显。这是我当前的代码: …

tabs svg jquery-ui

5
推荐指数
1
解决办法
2483
查看次数

标签 统计

jquery-ui ×1

svg ×1

tabs ×1