为什么在DOMContentLoaded之后没有调用我的函数?

时间:2015-07-07 14:57:15

标签: javascript svg

我创建了这个jFiddle来演示: https://jsfiddle.net/t5Lgwvzg/5/

我有一个功能可以改变我制作的几个svg多边形的颜色。当我在Chrome / Firefox本地运行时,颜色按预期加载。但是,当我使用Internet Explorer / JSFiddle运行它时,多边形保持白色,它们是原始颜色。我的问题是为什么这不起作用?我花了好几个小时试图搞清楚。 。

这是我的功能:

function statColor() {

    var random;
    document.getElementById("print").innerHTML = "Enter";

    for (var i = 0; i < counties.length; i++) {

        random = (Math.random() * 100);
        elem = document.getElementById(counties[i]);

        if (random >= 0 && random <= 25) {

            elem.style.fill = "green";
        } else if (random > 25 && random <= 50) {

            elem.style.fill = "yellow";
        } else if (random > 50 && random <= 75) {

            elem.style.fill = "orange";
        } else if (random > 75 && random <= 100) {

            elem.style.fill = "red";
        }
    }
    document.getElementById("polyNorthernIreland").style.fill = "grey";
}

这就应该被称为:

document.addEventListener("DOMContentLoaded", statColor, false);

还应该提到我正在使用IE11

1 个答案:

答案 0 :(得分:0)

使用attachEvent()addEventListener()不适用于低于9.0的IE