2011-06-27 4 views
0

Je crée un swf, qui a une classe parent et une classe enfant. La classe parent possède un bouton qui distribue un événement personnalisé et je souhaite que la classe enfant apparaisse pour cet événement, mais lorsque j'expédie l'événement, la classe enfant n'entend pas l'événement a été distribué.écouter des événements en bas de la liste d'affichage dans les composants enfants

C'est le code qui envoie l'événement:

fonction privée

onCTAClicked (e: MouseEvent): void { trace ("onCTAClicked"); dispatchEvent (nouveau CTAClickEvent (CTAClickEvent.CTA_CLICK_EVENT, true)); }

Et l'auditeur est inscrit comme ceci:

registerEventListeners public function(): void { this.addEventListener (CTAClickEvent.CTA_CLICK_EVENT, onCTAClickHandler, false);
}

La fonction registerEventListeners() se trouve dans la classe enfant.

Je sais que les événements peuvent faire grimper la liste d'affichage, mais comment peut-on alors descendre dans la liste?

Stephen

Répondre

0

Non, les événements ne creusent pas vers le bas. Ils ne font que bouillir. Pour qu'un enfant d'un objet d'affichage entende un événement distribué par un parent, dans la classe de l'objet enfant, vous devez ajouter un écouteur à une référence de l'objet parent. Assurez-vous de ne pas appeler registerEventListeners lorsque parent est null.

+0

Salut, Merci pour la réponse. J'ai réussi à résoudre le problème en utilisant un exemple que j'ai trouvé sur ce site. Où vous créez un événement Singleton que le parent et l'enfant utilisent pour envoyer et écouter l'événement. Ça semble fonctionner correctement maintenant. – StephenAdams

Questions connexes