我正在使用 jQuery SVG 插件在客户端(网络浏览器)端使用 SVG。
在特定情况下,我必须在 SVG 中添加一个 FontAwesome 图标。SVG 上的 FontAwesome 图标正常工作,如果它们是原始 SVG 的一部分,它由 jQuery SVG 插件加载。
通过使用以下行添加动态图标会出现问题,其中mainSVG
是全局 SVG 对象。
mainSVG.text(null, x, y, '&#'+iconCode);
其中 iconCode 类似于 "xf007" ...然后添加一些位置和样式属性。
将文本元素添加到 svg 工作正常。结果是一个字符串''
,它添加了一个文本对象,现在是 svg 的一部分。
<text x="49" y="139" style="font-family: FontAwesome;
font-weight: normal; font-size: 6px;" class="dot">

</text>
但是:它显示为字符串而不是图标。顺便说一句:FontAwesome 的 css 样式定义已加载并且已知洞察 SVG。
问题是:如果我使用 firebug 修改 SVG 以进行非常小的更改(例如在 SVG 元素之间添加空白),则图标变得可见。
对我来说,这是一个非常奇怪的行为,它看起来像,浏览器根本没有注意到新添加的图标。或者:浏览器仅在使用 firebug 对 svg 对象进行一些微小更改后才会注意到新添加的图标。
所以我的问题是:如何使用 jQuery 将动态 FontAwesome 图标添加到 svg,或者如何触发浏览器/svg“查看器”插件来注意图标,以便使用现有的 css 定义显示图标?