gpt4 book ai didi

javascript - 在 IE8 不显眼的 Javascript 中访问 event.target

转载 作者:可可西里 更新时间:2023-11-01 01:21:59 24 4
gpt4 key购买 nike

以下函数获取下拉菜单中的目标元素:

function getTarget(evt){

var targetElement = null;

//if it is a standard browser
if (typeof evt.target != 'undefined'){
targetElement = evt.target;
}
//otherwise it is IE then adapt syntax
else{
targetElement = evt.srcElement;
}

//return id of <li> element when hovering over <li> or <a>
if (targetElement.nodeName.toLowerCase() == 'li'){
return targetElement;
}
else if (targetElement.parentNode.nodeName.toLowerCase() == 'li'){

return targetElement.parentNode;
}
else{
return targetElement;
}

不用说,它在 Firefox、Chrome、Safari 和 Opera 中有效,但在 IE8 中无效(我想在以前的版本中也是如此)。当我尝试使用 IE8 调试它时,我在该行收到错误“找不到成员”:

targetElement = evt.srcElement;

以及其他后续错误,但我认为这是关键行。任何帮助将不胜感激。


抱歉,由于某些原因格式不正确。

这里又是函数

 function getTarget(evt){

var targetElement = null;

//if it is a standard browser get target
if (typeof evt.target != 'undefined'){
targetElement = evt.target;
}
//otherwise it is IE then adapt syntax and get target
else{
targetElement = evt.srcElement;
}

//return id of <li> element when hovering over <li> or <a>
if (targetElement.nodeName.toLowerCase() == 'li'){
return targetElement;
}
else if (targetElement.parentNode.nodeName.toLowerCase() == 'li'){

return targetElement.parentNode;
}
else{
return targetElement;
}

}//结束getTarget

最佳答案

问题是在 IE 中,事件对象不作为处理程序的参数发送,它只是一个全局属性 (window.event):

function getTarget(evt){
evt = evt || window.event; // get window.event if argument is falsy (in IE)

// get srcElement if target is falsy (IE)
var targetElement = evt.target || evt.srcElement;

//return id of <li> element when hovering over <li> or <a>
if (targetElement.nodeName.toLowerCase() == 'li'){
return targetElement;
}
else if (targetElement.parentNode.nodeName.toLowerCase() == 'li'){

return targetElement.parentNode;
}
else{
return targetElement;
}

关于javascript - 在 IE8 不显眼的 Javascript 中访问 event.target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2642095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com