user3237973
user3237973

Reputation: 69

How to replace stopPropagation() javascript for IE7 / IE8

I need some help with my Javascript.

The problem is that my JavaScript code is not working properly on Internet Explorer 8 as well as Internet Explorer 7: it is giving an error saying that stopPropagation() cannot be supported on Internet Explorer 8 / 7.

So I need some help to get this thing fixed, and working on Internet Explorer 8 / 7.

FIDDLE


var dataSource = ({
    "Pen": ({
        "Cello": ({
            "C2": ({}),
            "C1": ({})
        }),
        "Parker": ({
            "P2": ({}),
            "P1": ({})
        })
    })
});

var traverseObject = function (obj) {
    var ul = document.createElement("ul"), li;

    for (var prop in obj) {
        li = document.createElement("li");
        li.appendChild(document.createTextNode(prop));
        li.onclick = function(e) {
            var classNames = this.className;

            if (classNames.indexOf("hidden") == -1) {
                this.className += "hidden";
            } else {
               this.className = this.className.replace("hidden", "");
            }

            e.stopPropagation();
        }

        if (typeof obj[prop] == "object" && Object.keys(obj[prop]).length) {
            console.log(Object.keys(obj[prop]).length + "  " + Object.keys(obj[prop]));
            li.appendChild(traverseObject(obj[prop]));
        } else {
            li.className += "leaf";
        }

        ul.appendChild(li);
        console.log(ul);
    }

    return ul;
};


window.onload = function () {
    document.getElementById("dvList1").appendChild(traverseObject(dataSource));
}

Thank you

Upvotes: 2

Views: 256

Answers (0)

Related Questions