Internet explorer 在IE8中添加'tr'标记时使用R2D3.js的参数无效

Internet explorer 在IE8中添加'tr'标记时使用R2D3.js的参数无效,internet-explorer,d3.js,internet-explorer-8,invalid-argument,Internet Explorer,D3.js,Internet Explorer 8,Invalid Argument,我有一个使用D3.js的应用程序,但我必须使它与IE8兼容。。。所以我使用了R2D3.js,它似乎是SVG操作的一个非常好的替代品。但是对于基本标签 我使用它来管理表中的数据,但当涉及到附加新行时,即: 行:8450/错误:参数无效 我环顾四周,但没有发现任何线索 下面是我的代码的一个简单示例: 这在Firefox上非常有效,但在IE8上崩溃 这是一本书 有人能帮我吗 谢谢。查看R2D3源代码,它使用的是addEventListener方法,该方法仅从IE9开始受支持: 这就解释了为什么它会在

我有一个使用D3.js的应用程序,但我必须使它与IE8兼容。。。所以我使用了R2D3.js,它似乎是SVG操作的一个非常好的替代品。但是对于基本标签

我使用它来管理表中的数据,但当涉及到附加新行时,即:

行:8450/错误:参数无效

我环顾四周,但没有发现任何线索

下面是我的代码的一个简单示例:

这在Firefox上非常有效,但在IE8上崩溃

这是一本书

有人能帮我吗


谢谢。

查看R2D3源代码,它使用的是addEventListener方法,该方法仅从IE9开始受支持:


这就解释了为什么它会在IE8上崩溃

我没有仔细分析代码,但我很确定它使用了一个自定义函数来polyfill addEventListener。R2D3的全部要点是它提供了IE7/8支持。但是它如何与SVG元素一起工作呢?它不应该像基本元素那样崩溃吗?
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <!--[if lte IE 8]><script src="r2d3.js" charset="utf-8"></script><![endif]-->
        <!--[if gte IE 9]><!-->
        <script src="d3.min.js" charset="utf-8"></script>
        <!--<![endif]-->
    </head>

    <body>
        <table>
        </table>

        <script>
var dataset = [
    {
        name: 'Foo',
        age: 42
    },  
    {
        name: 'Bar',
        age: 21
    }
];

var table = d3.select('table');
table.selectAll('tr').data(dataset)
    .enter().append('tr')
    .selectAll('td')
        .data(function(d) {
            return [d.name, d.age];
        })
        .enter().append('td')
            .text(function(d) {return d});
        </script>
    </body>
<html>
R2D3Element.prototype.addEventListener = function(type, listener) { 
    this.domNode.childNodes[i].r2d3.addEventListener(type, listener); 
}