internet explorer and target event

internet explorer and target event

本文关键字:event target and explorer internet      更新时间:2023-09-26

希望你能帮到我!此功能在IE浏览器中不起作用!我该怎么办?

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中,您需要srcElement而不是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";
    }
}