下面的函數獲取目標元素在一個下拉菜單:訪問event.target unobstrusive的Javascript
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;
}
不用說,它工作在火狐,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
你應該使用jQuery。 – SLaks 2010-04-15 01:15:17
是的,這將是簡單的方法;) – Mirko 2010-04-15 09:45:38