3

我有一个类似的问题,并根据该问题准备了一个示例

http://jsfiddle.net/kxhyv/

除 Safari 和 Opera 外,每个浏览器都能很好地处理这个问题。在 Opera 中,如果您首先单击“运行”,则 SVG 将呈现为黑盒。单击“更新”后,SVG 将正确呈现。在我们的应用程序中,我们在 ExtJS 4.1.1 中使用它直接设置面板的 html 代码

html = '<svg id="foo" > .... </svg>';
this.update(html);

其中 html 只是包含 svg 的字符串。

它工作正常,除了两个浏览器中的渐变给我一个黑色的形状。由于各种原因(事件处理、ID 操作等),它必须是内联 SVG 才能让事件侦听器运行:

listeners : {

    click : {
        element : 'el',
        fn : function(a, b, c, d) {
            var svgElement = b;
[...]

我现在完全没有想法,非常感谢所有建议。

4

0 回答 0