Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/03/2008, 05:24
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Re: Disparar un evento asignado con Event.observe

Antes de nada: lamento lo de tu ardilla.
No uso esa librería, de manera que no sé cómo maneja los eventos. Pero te digo que la manera de asignarlos con DOM es esta:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
function 
addEvent(objevTypefnuseCapture){
 
 if (
obj.addEventListener){
    
obj.addEventListener(evTypefnuseCapture);
    
  } else if (
obj.attachEvent){
    
obj.attachEvent("on"+evTypefn);
   
  } else {
   
obj['on'+evType]=fn;
  }
}
function 
decirHola(){
alert('hola!');
}
window.onload=function(){
    
addEvent(document.getElementById('pp'), 'click'decirHolafalse);
}
</script>
</head>

<body>
<div id="pp">click</div>
</body>
</html> 
La función addEvent comprueba si es posible asignar el evento con addEventListener para navegadores serios, si no intenta asignarlo con attachEvent (para Explorer), y si no puede asignarlo de ninguna de las dos maneras, asigna el evento de la manera tradicional.
Lo que supongo que hace tu librería, además de aplicar los eventos de esa misma manera, es guardar en un array los eventos asignados a cada objeto, para luego, usando el evento onunload de window, eliminar esa asignación para prevenir fugas de memoria en Explorer. Pero dependiendo de tu aplicación, es muy probable que esa precaución no sea necesaaria.