Javascript internet explorer和目标事件
我希望你能帮助我! 此功能在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
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
也不可用。如果您还可以提及浏览器版本,那就更好了。