需要替换currentTarget javascript的帮助吗

需要替换currentTarget javascript的帮助吗,javascript,jquery,html,css,internet-explorer,Javascript,Jquery,Html,Css,Internet Explorer,我需要一些Javascript方面的帮助,问题是我的Javascript代码在Internet explorer 8和Internet explorer 7上不能正常工作,它给出了一个错误,即Internet explorer 8/7不支持currentTarget。所以我需要一些帮助来修复这个问题,并在InternetExplorer8/7上工作 谢谢您可以简单地使用事件内处理程序而不是e.currentTarget我建议您,不要修复兼容问题,而是找到一些已经修复兼容问题的工具。 在这里

我需要一些Javascript方面的帮助,问题是我的Javascript代码在Internet explorer 8和Internet explorer 7上不能正常工作,它给出了一个错误,即Internet explorer 8/7不支持currentTarget。所以我需要一些帮助来修复这个问题,并在InternetExplorer8/7上工作




谢谢

您可以简单地使用事件内处理程序而不是
e.currentTarget

我建议您,不要修复兼容问题,而是找到一些已经修复兼容问题的工具。 在这里,我建议您使用JQuery重写脚本

li.onclick->$(li)。单击(函数(事件){/*过程代码*/})


希望这有帮助

你能给我举个例子说明如何使用这个关键字吗?只需将
e.currentTarget
的每一次出现都替换为
this
。很好,谢谢你,先生……谢谢你,但是e.stopPropagation();正在IE 8和7上导致错误
返回false
也应该这样做。虽然我真的不明白为什么您需要它,为什么这个jQuery在您不使用它的时候被标记了?
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 = e.currentTarget.className;
                if (classNames.indexOf("hidden") == -1) {
                    e.currentTarget.className += "hidden";
                } else {
                    e.currentTarget.className = e.currentTarget.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));
    document.getElementById("dvList2").appendChild(sortedObject(dataSource));
}