Следующая функция получает целевой элемент в выпадающем меню:
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;
}
} // end getTarget