我試圖使用getBBox方法來獲取SVG渲染內的文本元素的寬度,但由於一些奇怪的原因它只能工作一半的時間,另一半它失敗..SVG - > getBBox失敗,但只有一半的時間
下面是我使用我的JS代碼:
console.log(iElement.find('.yLabel2:eq(2)')[0].getBBox());
var passWidth = numberTitle2.node().getBBox().width;
所以一半的時間它會記錄[object SVGRect]
並設置passWidth的寬度,這是真棒。但在其他時間,它記錄了[object Exception]
,不會記錄寬度,並打破其後的JavaScript的其餘部分。
裏面的例外對象有name: "NS_ERROR_FAILURE"
和result: 2147500037
一個更好的方式來獲得一個SVG元素的寬度就如何得到這個工作的順利開展任何意見或?
您確定您正在成功訪問有效的元素嗎? – AmeliaBR
@AmeliaBR我很肯定,否則它根本無法工作。由於某種原因,這是非常麻煩的。 – pashOCONNOR
你用它做什麼?會[[getComputedTextLength()'](http://www.w3.org/TR/SVG11/text.html#__svg__SVGTextContentElement__getComputedTextLength)工作?即使文本元素尚未添加到文檔中,它也應該提供有效的值。 – AmeliaBR