Enlaces e información

Comenta lo que creas oportuno.


Otros posts
Cairngorm
Flex… y vuelta a empezar…

Event Bubbling en FLEX

Escrito por Roberto M. Oliva en Noviembre 8th, 2006

Si se quiere crear un componente complejo, pero que sirva para realizar diversas operaciones, lo mejor es atrapar sus eventos y aplicarle operaciones concretas, según se utilice dicho componente.

Esto me ha pasado recientemente. He desarrollado un componente que muestra dos selectores de fechas y un boton de busqueda. Es muy comun hacer busquedas entre dos fechas, luego es muy común utilizar un control de este tipo. La gran diferencia aparecerá cuando, al darle al boton de buscar por rango de fechas, me haga cosas distintas segun el lugar donde se encuentre dicho control.

Para ello, se indica que este control va a generar un evento cuando se pulse el click del boton de busqueda. Esto implica, atrapar primero el evento click del boton y relanzarlo al contenedor del componente como si un evento propio fuese. Esto es lo que se conoce como Event Bubbling y no es más que un encadenamiento de eventos.
Para ello, definimos dentro del componente que vamos a lanzar un evento:

<mx:Metadata>

[Event(”buscar”)]

mx:Metadata>

Indicamos al boton que vamos a atrapar el evento click:

<mx:Button label=Ir id=cmdBuscar click=onBuscar(event); />

Y, por último codificamos la funcion onBuscar:

private function onBuscar(event: Event) : void
{
dispatchEvent(new Event(”buscar”));
}

Sin olvidarnos de incluir el paquete: flash.events.EventDispatcher.

A partir de este momento, en cualquier lugar de nuestro codigo podremos incrustar el componente completo y atrapar el evento del boton para realizar busquedas específicas, según el lugar donde hayamos puesto el nuevo componente:

<ns1:controlEntreFechas height=27 buscar=Alert.show(’Buscar’);>

ns1:controlEntreFechas>



Escriba un comentario

Dediquele un momento a comentar lo que piensa. Esta permitido usar HTML básico para formatear el escrito.

Comentarios de los lectores

Hola, estoy recien en el mundo de flex, encontre interesante muy articulo.

Me gustaria, que pusieras, si es posible el ejemplo entero o uno basico, para asi estudiar bien eso que se llama Event Bubbling

Gracias por el articulo, se te agradece

Hola!

De nada! La verdad es que no tiene mucha complicacion. No es más de lo que esta escrito, pero si lo ves mas claro con todo el codigo te lo pondre al completo.

Un saludo

Hola,
Gracias por contestar
ahora ya aprendi mas menos
como trabajar con eventos en flex
pero igual seria bueno poner tu codigo completo, para aquellas personas que se inicien en Flex,y tengas sus dudas.

saludos
ricardo

[…] En realidad este post no es una continuación de este otro: Event Bubbling en Flex. Más bien es una ampliación del código del mismo a petición de Ricardo. […]