Weno, esto tampoco est� documentado XD. La documentaci�n explica que cuando
a�adimos un listener a un componente, por ejemplo :
boton.addEventListener(event, handler);
Event es una cadena con el nombre del evento.
Handler puede ser una funci�n o un objeto.
S� 'handler' es un objeto, debe tener un m�todo con el mismo nombre que el
evento al que quiere responder, p, ej. miObjeto.click();
Ahora bien, la primera cosa que no se explica es que si pasamos una funci�n
como handler, el valor de 'this' en esa funci�n ser� el del mismo componente
que genera el evento.
Por otro lado, si pasamos un objeto, en realidad la funci�n callback no
tiene porqu� tener el mismo nombre que el evento al que responde. Es posible
utilizar una callback gen�rica con nombre 'handleEvent' y luego determinar
qu� tipo de evento, y de qu� componente procede, en el cuerpo del m�todo
'handleEvent'.
Pego un poco de c�digo (AS1 xq est� hecho en la linea de tiempo) para
ilustrar estas cosillas:
<code>
foo = function () {
trace("thisObj : "+this);
trace (this.go)//undefined;
trace (go)//hola
};
go = "hola";
function EventHandler() {
}
EventHandler.prototype.handleEvent = function(eventObj) {
trace("event object for event : "+eventObj.type);
for (var p in eventObj) {
trace("\t\t"+p+" : "+eventObj[p]);
}
};
function EventHandler2() {
}
EventHandler2.prototype.click = function(eventObj) {
trace("event: "+eventObj.type+" from "+eventObj.target);
};
myEventHandler = new EventHandler();
myOtherEventHandler = new EventHandler2();
but.addEventListener("click", this.foo);
but.addEventListener("click", myEventHandler);
but.addEventListener("click", myOtherEventHandler);
</code>
<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->