La fonction suivante obtient l'élément cible dans un menu déroulant:Accès event.target dans IE8 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;
}
Inutile de dire que cela fonctionne dans Firefox, Chrome, Safari et Opera, mais il ne fonctionne pas dans IE8 (et je suppose que dans les versions précédentes aussi bien). Lorsque je tente de le déboguer avec IE8 je reçois l'erreur « Membre introuvable » sur la ligne:
targetElement = evt.srcElement;
ainsi que d'autres erreurs ultérieures, mais je pense que c'est la ligne clé. Toute aide sera appréciée.
Désolé, le formatage n'est pas correct.
est la fonction Ici encore
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;
}
} // fin getTarget
Vous devez utiliser jQuery. – SLaks
Oui, ce serait le moyen facile;) – Mirko