Actionscript3.0, Flash

diciembre 2007

Gestión de eventos: Diferencia entre target y currentTarget

Para explicar la diferencia entre ambas propiedades, voy a poner un ejemplo práctico. Tenemos un clip llamado Menu_mc, que tiene dentro otros 3 clips que hacen de botones. Si añadimos el evento «click» a Menu_mc, en la función que se ejecute (poniendo como parámetro e:MouseEvent) obtendremos los siguientes resultados:

-Si hacemos trace(e.target.name), se imprimirá al nombre del clip pulsado (que está dentro de Menu_mc)

-Si hacemos trace(e.currentTarget.name), se imprimirá el nombre del menú, es decir, «Menu_mc».

Por tanto, cuando queremos programar un menú, no hace falta añadir los listeners uno a uno a los botones, podemos añadir el listener al menú, y aprovechar la propiedad target para ver que elemento ha sido pulsado.