Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/04/2006, 09:38
Avatar de PatomaS
PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 11 meses
Puntos: 63
Acceder a las propiedades de un objeto referenciado desde una escucha de eventos

Hola gente

Tengo una duda que que carcome minuto a minuto y aunque he intentando varias cosas, no encuentro la salida ...

Tengo una función en la que asigno «escuchas» a determinados objetos y desde esa asignación de escuchas, asigno la función que se encargará de trabajar con ellos, pero ...

siempre hay un pero ¿no?

;)

Pero el problema que tengo, es que no logro determinar el objeto con Explorer. Con firefox o similares de la familia Gecko, no tengo problema con ello, pero no lo logro con Explorer.

Para clarificar, el primer paso es este:
Código:
if (Objeto[n].addEventListener) {
	Objeto[n].addEventListener("click", funcion, false);
} else {
	Objeto[n].attachEvent("onclick", funcion(this));
}
Luego la función que recibe la llamada y trabaja con el evento y el objeto tiene una serie de cosas, pero nada funciona con el Explorer, por ejemplo, una cosa sencilla como esta, no funciona.
Código:
function funcion(evento) {
	alert(evento.type);
}
Y seguimos, en dicha función, puedo tener acceso al objeto cuyo evento paso mediante el uso de "this" y DOM. Sin embargo, con el Explorer, solo logro generar una ventana indicando que tengo un "[object]". Obviamente, esta alerta de javascript de explorer la logro si al alert anterior le quito el ".type", pero con explorer no logro obetener nada más que "[object]"

Por ejemplo, esto:
Código:
var pagina = this.getAttribute('href');
Para tratar de aclarar aun más un poco; en el ejemplo que puse, asigno el evento a un vínculo, cuango hago clic en el, sale la típica ventanita de javascript diciendo "click", lo cual es correcto ya que el evento que capturo es un click. Sin embargo, en explorer no aparece nada.

La función en la que estoy trabajando aun tiene algunos detallitos que solventar, pero son cosas menores, pero esta ciertamente me device ya que es la funcionalidad completa la que pierdo.

Bueno, espero haberme explicado adecuadamente, si no fuera así, por favor digánmelo para aclararme un poco más.

Nuevamente disculpen las molestias, seguramente la respuesta de esto es sencilla, pero ya saben, los hay que somos un poco limitaditos y cuando los scripts no son bajitos ni se dejan, pues la cosa se pone dura...

:)

Felicidad
__________________
¡ hey, hou, hou, hey !