Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/04/2006, 09:25
Avatar de PatomaS
PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 21 años
Puntos: 63
Una solución al problema.

Hola gente

Bueno, al parecer llegué a una solución. Dicha solución fué reescribir la llamada a la función del explorer, pasando de esto:

Código:
if (Objeto[n].addEventListener) {
	Objeto[n].addEventListener("click", funcion, false);
} else {
	Objeto[n].attachEvent("onclick", funcion);
}
a esto

Código:
if (Objeto[n].addEventListener) {
	Objeto[n].addEventListener("click", funcion, false);
} else {
	Objeto[n].attachEvent("onclick", funcion);
}
Suena bastante evidente, y debo decir que lo es, pero cuando revisé la documentación referente al explorer, en los ejemplos que usaban, estaban los paréntesis y sabiendo que no es raro que cada quien use su propia mecánica, no me llamó demasiado la atención.

Por casualidad fuí eliminando cosas y al elimnar esto en la llamada, la función de trabajo empezó a hacer lo que debía.

Complementando un poquito, en la función que debe hacer el trabajo, accedo a las propiedades del objeto cuyo evento ha sido detectado con esta sintaxis:

Código:
function funcion(evento) {
	...
	evento.srcElement.getAttribute('href');
	...
}
En explorer, sustituir evento por this, no funciona.

Seguramente hay más soluciones a lo que planteaba y seguramente era muy evidente, pero debo reconocer que me costó un poco tropezarme con esto. Menos mal que la casualidad y la suerte salieron en mi ayuda.

Felicidad
__________________
¡ hey, hou, hou, hey !