É possível sim, e é bem simples.

no componente filho:
  this.parent.addEventListenner(...,...,etc);

Para isto o filho deve ser:



2010/1/16 Gabriela Trindade Perry <[email protected]>

> Não diretamente com addEventListeners nos objetos, qeu é como imagino
> tenhas tentado fazer.
>
> Há três fases em um evento:
> 1. capture -> o evento disparado no filho sobre até o pai (o container
> pai). Normalmente não é capturada, pois o padrão para useCapture em
> addEventListener é false
> 2. at target -> quando o evento está no objeto que "originou" o
> disparo. Quando estamos no currentTarget
> 3. bubbling -> quando o evento sobre para o pai (os containers pai) e
> continua acima na hierarquia. Apenas para os eventos que, quando
> disparados, marcam a propriedade bubbles como true (dispatchEvent)
>
>
> http://www.adobe.com/devnet/actionscript/articles/event_handling_as3_03.html
>
> Todavia, isso é possível de outras formas (as que eu conheço)
> - usando um Singleton que compõe - Mate - ou extende - Cairngorm -
> EventDispatcher
> - implementando IEventDispatcher, que é como o Mate faz (falaram tanto
> disso que até fui olhar).
>
> Em todo caso, até onde eu olhei (e aqui uma pessoa que entenda melhor
> o Mate poderia falar algo sobre isso), o Mate aponta todos os
> disparadores e ouvintes de evento para o Application
> (GlobalDispatcher, que é o dispatcher de MateManager, que é um
> Singleton). No final das contas, o (hoje mal afamado) Cairngorm também
> faz (mais ou menos) assim.
>
> Resumindo, a forma de fazer o que queres é centralizar o disparo do
> evento (e eu só sei fazer com Singletons... Se alguém souber de uma
> forma diferente por favor se pronuncie)
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>



-- 
Clayton Marques Pereira
-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a