La función siguiente obtiene el elemento de destino en un menú desplegable:event.target acceso en 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;
}
hace falta decir que funciona en Firefox, Chrome, Safari y Opera, pero no lo hace en IE8 (y creo que en versiones anteriores también). Cuando intento para depurarlo con IE8 me sale el "Miembro no encontrado" error en la línea:
targetElement = evt.srcElement;
junto con otros errores posteriores, pero creo que esta es la línea clave. Cualquier ayuda será apreciada.
Disculpe, por alguna razón, el formato no es el correcto.
Aquí es de nuevo la función
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
que puedes usar jQuery. – SLaks
Sí, esa sería la manera fácil;) – Mirko