Buenos días,
tengo el siguiente codigo que me funciona de perlas en ie pero no consigo que funcione en firefox, y sospecho que tiene algo que ver con la propiedad target.
// aqui creo una tabla dinamica y le voy añadiendo los eventos en tiempo de ejecucion a los elementos TR: (pongo todo el codigo por si a alguien le sirve)
function MostrarDataGrid(cols,rows,size)
{
// obtenemos acceso a la tabla por su ID
var TABLE = document.getElementById("dataGrid");
//TABLE.style.border = '1px outset #D3D3D3';
// obtenemos acceso a la fila cabecera por su ID
var TROW = document.getElementById("header");
TROW.style.backgroundColor= '#365999';
//Creamos la cabecera
for(i=0;i<columnas.length;++i)
{
celda=TROW.insertCell(-1);
celda.id=columnas[i];
celda.style.width=''+tamano[i]+'px';
celda.innerHTML = columnas[i];
celda.style.color='#FFFFFF';
}
//Añadimos los registros
for(i=0;i<valores.length;++i)
{
//Creamos fila
var newRow = TABLE.insertRow(-1);
newRow.id=valores[i][0];
newRow.style.backgroundColor= '#7B96C8';
AttachEvent(newRow,"mouseover",function(){atenderE ventoOver()});
AttachEvent(newRow,"mouseout",function(){atenderEv entoOut()});
AttachEvent(newRow,"click",function(){atenderEvent oClick()});
//añadimos celdas con valores
for(j=0;j<valores[0].length;++j)
{
celda=newRow.insertCell(-1);
celda.id=columnas[j];
celda.style.width=''+tamano[j]+'px';
celda.innerHTML = valores[i][j];
celda.style.color='#FFFFFF';
}
}
//Aqui distingo entre i.e. y firefox para llamar a sus respectivos métodos
function AttachEvent(obj,evt,fnc,useCapture)
{
if (!useCapture) useCapture=false;
if (obj.addEventListener)
return obj.addEventListener(evt,fnc,false);
else (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
}
// y por último la función que trata el evento (pongo solo el de MouseOver)
function atenderEventoOver(e)
{
// si aqui pongo un alert para monitorizar en firefox si me muestra el //contenido
var targ;
if (!e) var e = window.event; // aqui he probado tambien a poner
//var e=window.event? event : e ; pero tampoco funciona
if (e.target) targ = e.target;
//aqui en firefox ya no funciona el alert, por lo que el fallo está en estas //líneas superiores
else if (e.srcElement) targ = e.srcElement;
targ.parentNode.style.backgroundColor= '#365999';
targ.parentNode.style.cursor= 'hand';
}
Un poco de ayuda se agradece ya que me esta esta obsesionando y retrasa mi proyecto Muchas gracias