Javascript internet explorer和目标事件

Javascript internet explorer和目标事件,javascript,internet-explorer,Javascript,Internet Explorer,我希望你能帮助我! 此功能在internet explorer中不起作用!我该怎么办 function docClick (oEvent) { var bHide = true, oTable = document.getElementById("content_tab"); for (var oItTarget = oEvent.target; oItTarget; oItTarget = oItTarget.parentNode) { if (oItTarge

我希望你能帮助我! 此功能在internet explorer中不起作用!我该怎么办

function docClick (oEvent) {
    var bHide = true, oTable = document.getElementById("content_tab");
    for (var oItTarget = oEvent.target; oItTarget; oItTarget = oItTarget.parentNode) {
        if (oItTarget === oTable) { bHide = false; break; }
    }
    if (bHide) {
        oTable.style.visibility = "hidden";
    }
}

有人能帮我吗?谢谢

您需要为IE使用
currentTarget
属性。检查可用的目标:

var oItTarget = oEvent.target ? oEvent.currentTarget : oEvent.target;
或者在您的功能中:

function docClick (oEvent) {
    var bHide = true, oTable = document.getElementById("content_tab");
    for (var oItTarget = oEvent.target ? oEvent.currentTarget : oEvent.target; oItTarget; oItTarget = oItTarget.parentNode) {
        if (oItTarget === oTable) { bHide = false; break; }
    }
    if (bHide) {
        oTable.style.visibility = "hidden";
    }
}

在IE<9中,您需要
srcelment
而不是
target
。您还可能(取决于事件处理程序的连接方式)需要在IE中使用
window.event

function docClick (oEvent) {
    oEvent = oEvent || window.event;
    var target = oEvent.target || oEvent.srcElement;

    var bHide = true, oTable = document.getElementById("content_tab");
    for (var oItTarget = target; oItTarget; oItTarget = oItTarget.parentNode) {
        if (oItTarget === oTable) { bHide = false; break; }
    }
    if (bHide) {
        oTable.style.visibility = "hidden";
    }
}

不可用。如果
target
不可用(因为它不在IE<9中),则
currentTarget
也不可用。如果您还可以提及浏览器版本,那就更好了。