Pour mes composants personnalisés, lorsque l'activation, la désactivation ou la désactivation est activée, je souhaite déclencher un événement personnalisé. Je ne trouve aucun événement associé dans les livesocs. Des indices s'il vous plait?Écoute de l'activation/désactivation de la modification de l'état
3
A
Répondre
5
UIComponent
ne distribue un événement de type enabledChanged
de sa méthode set enabled
. Voici la source de cette méthode:
public function set enabled(value:Boolean):void
{
_enabled = value;
// Need to flush the cached TextFormat
// so it recalcs with the disabled color,
cachedTextFormat = null;
invalidateDisplayList();
dispatchEvent(new Event("enabledChanged"));
}
Vous pouvez l'écouter en utilisant:
myComponent.addEventListener("enabledChanged", handleEnabledChanged);
1
S'il s'agit de composants personnalisés, et je suppose que vous développez UIComponent (ou une classe enfant), pourquoi ne pas simplement remplacer la méthode Setter Enabled, puis envoyer un événement personnalisé dans ce cadre?
Quelque chose comme:
override public function set enabled(value:Boolean):void {
super.enabled = value;
dispatchEvent(new EnabledChangedEvent());
}