| Package | flash.events |
| Classe | public class EventDispatcher |
| Héritage | EventDispatcher Object |
| Implémente | IEventDispatcher |
| Sous-classes | Animator, Camera, ContextMenu, ContextMenuItem, DataProvider, DisplayObject, FileReference, FileReferenceList, IME, LoaderInfo, LocalConnection, Locale, Microphone, NetConnection, NetStream, PrintJob, RadioButtonGroup, SharedObject, Socket, Sound, SoundChannel, StyleSheet, Timer, Transition, TransitionManager, Tween, URLLoader, URLStream, XMLSocket |
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Les cibles d’événement constituent une part importante du modèle d’événement de Flash® Player. La cible de l’événement détermine le flux d’événements dans la hiérarchie de la liste d’affichage. Lorsqu’un événement, tel qu'un clic de souris ou une pression sur une touche, se produit, Flash Player distribue un objet événement dans le flux d’événements, à partir de la racine de la liste d’affichage. Cet objet descend dans la liste jusqu’à ce qu’il atteigne la cible de l'événement et commence alors à remonter la liste d'affichage. Cet aller-retour jusqu'à la cible de l’événement est divisé de manière conceptuelle en trois phases : La phase de capture correspond au trajet de la racine jusqu'au dernier nœud précédant le nœud de la cible de l’événement, la phase cible concerne uniquement le nœud de la cible de l’événement, tandis que la phase de propagation vers le haut (bubbling) comprend tous les nœuds rencontrés sur le trajet de retour à la racine de la liste d’affichage.
En règle générale, pour qu’une classe définie par l'utilisateur acquière des fonctions de distribution, le plus simple consiste à étendre EventDispatcher. Si cela est impossible (autrement dit, si cette classe étend déjà une autre classe), vous pouvez implémenter l’interface IEventDispatcher, créer un membre EventDispatcher et écrire des raccrochements simples pour acheminer les appels vers la classe EventDispatcher regroupée.
| Méthode | Défini par | ||
|---|---|---|---|
|
EventDispatcher(target:IEventDispatcher = null)
Regroupe une occurrence de la classe EventDispatcher.
| EventDispatcher | ||
|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
| EventDispatcher | ||
|
Distribue un événement dans le flux d’événements.
| EventDispatcher | ||
|
Vérifie si des écouteurs sont enregistrés auprès de l'objet EventDispatcher pour un type spécifique d’événement.
| EventDispatcher | ||
![]() |
Indique si la propriété spécifiée d'un objet est définie.
| Object | |
![]() |
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
| Object | |
![]() |
Indique si la propriété spécifiée existe et est énumérable.
| Object | |
|
Supprime un écouteur de l’objet EventDispatcher.
| EventDispatcher | ||
![]() |
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
| Object | |
![]() |
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
| Object | |
![]() |
Renvoie la valeur primitive de l'objet spécifié.
| Object | |
|
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
| EventDispatcher | ||
| Evénement | Synthèse | Défini par | ||
|---|---|---|---|---|
| Distribué lorsque Flash Player a le focus du système d’exploitation et devient actif. | EventDispatcher | |||
| Distribué lorsque Flash Player perd le focus du système d’exploitation et devient inactif. | EventDispatcher | |||
| EventDispatcher | () | Constructeur |
public function EventDispatcher(target:IEventDispatcher = null)
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Regroupe une occurrence de la classe EventDispatcher.
La classe EventDispatcher est généralement utilisée comme classe de base, ce qui signifie que la plupart des développeurs n’ont pas besoin d’utiliser cette fonction constructeur. Toutefois, les développeurs expérimentés qui implémentent l’interface IEventDispatcher doivent l’utiliser. S'il vous est impossible d’étendre la classe EventDispatcher et que vous devez implémenter l’interface IEventDispatcher à la place, utilisez cette fonction constructeur pour regrouper une occurrence de la classe EventDispatcher.
Paramètrestarget:IEventDispatcher (default = null) — Objet cible des événements distribués à l’objet EventDispatcher. Ce paramètre s’utilise lorsque l’occurrence de EventDispatcher est regroupée par une classe qui implémente IEventDispatcher. Il permet à l’objet conteneur d’être la cible des événements. Ne vous servez pas de ce paramètre dans des cas simples pour lesquels une classe étend EventDispatcher.
|
| addEventListener | () | méthode |
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. Vous pouvez enregistrer les écouteurs d’événement dans tous les nœuds de la liste d’affichage pour un type spécifique d’événement, de phase et de priorité.
Après l'enregistrement d'un écouteur d’événements, vous ne pouvez plus modifier sa priorité par d'autres appels de addEventListener(). Pour modifier la priorité d'un écouteur, vous devez d’abord appeler removeListener(). Vous pouvez ensuite réenregistrer l’écouteur avec le nouveau niveau de priorité.
N'oubliez pas qu’une fois l’écouteur enregistré, tous les prochains appels de addEventListener() avec une valeur type ou useCapture différente entraîneront la création d’un autre enregistrement d’écouteur. Si, par exemple, vous enregistrez un écouteur dans lequel la propriété useCapture est définie sur true, il écoute uniquement pendant la phase de capture. Si vous appelez addEventListener() à l’aide du même objet écouteur, mais en définissant useCapture sur false, vous obtenez deux écouteurs distincts : l'un qui écoute pendant la phase de capture et l’autre qui écoute pendant les phases cible et de propagation vers le haut (bubbling).
Il est impossible d’enregistrer un écouteur d’événement pour la phase cible ou la phase de propagation vers le haut (bubbling) uniquement. Ces deux phases sont associées pendant l’enregistrement car la propagation vers le haut (bubbling) s’applique uniquement aux ancêtres du nœud cible.
Si vous n’avez plus besoin d'un écouteur d’événements, supprimez-le en appelant removeEventListener(), afin d'éviter tout problème de mémoire. Les objets associés à des écouteurs d'événements enregistrés ne sont pas automatiquement supprimés de la mémoire, car le nettoyeur de mémoire n’efface pas les objets auxquels il est toujours fait référence.
Lors de la copie d’une occurrence d'EventDispatcher, les écouteurs d’événement qui lui sont associés ne sont pas pris en compte. (Si votre nouveau nœud a besoin d'un écouteur d’événements, vous devez associer celui-ci après la création du nœud). Toutefois, si vous déplacez une occurrence d'EventDispatcher, les écouteurs d’événement qui lui sont associés la suivent.
Si un écouteur d’événement est enregistré sur un nœud alors qu'un événement est en cours de traitement sur ce nœud, l’écouteur n’est pas déclenché pendant la phase actuelle, mais il peut l’être pendant une phase ultérieure du flux d’événements, telle que la phase de propagation vers le haut (bubbling).
Si un écouteur d’événement est supprimé d’un nœud sur lequel un événement est en cours de traitement, il est cependant déclenché par les actions en cours. Une fois supprimé, l’écouteur d’événement n’est plus jamais appelé (à moins d’être réenregistré à des fins de traitement ultérieur).
Paramètres
type:String — Type d’événement.
|
|
listener:Function — Fonction d'écouteur qui traite l’événement. Cette fonction doit accepter un objet Event comme paramètre unique et ne rien renvoyer, comme illustré ci-dessous :
Le nom de cette fonction n’a aucune importance. |
|
useCapture:Boolean (default = false) — Détermine si l'écouteur est actif pendant la phase de capture ou pendant les phases cible et de propagation vers le haut (bubbling). Si useCapture est défini sur true, l’écouteur traite l’événement pendant la phase de capture uniquement et non pendant les phases cible et de propagation vers le haut (bubbling). Si useCapture et défini sur false, l’écouteur traite l’événement pendant les phases cible et de propagation vers le haut (bubbling) seulement. Pour écouter l’événement dans les trois phases, appelez addEventListener à deux reprises, une première fois avec useCapture défini sur true, puis une nouvelle fois avec useCapture défini sur false.
|
|
priority:int (default = 0) — Niveau de priorité de l'écouteur d’événements. La priorité est indiquée par un entier signé de 32 bits. Plus le nombre est élevé, plus la priorité est élevée. Tous les écouteurs dont la priorité correspond à n sont traités avant les écouteurs dotés de la priorité n -1. Les écouteurs dont la priorité est identique sont traités dans l’ordre où ils ont été ajoutés. La priorité par défaut est 0.
|
|
useWeakReference:Boolean (default = false) — Détermine si la référence à l’écouteur est forte ou faible. Une référence forte (valeur par défaut) empêche le nettoyage de votre écouteur, à l’encontre d’une référence faible. Les fonctions de membres de niveau classe n'étant pas soumises au nettoyage, vous pouvez définir |
ArgumentError — Le paramètre listener spécifié n’est pas une fonction.
|
Voir aussi
| dispatchEvent | () | méthode |
public function dispatchEvent(event:Event):Boolean
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Distribue un événement dans le flux d’événements. La cible de l'événement est l'objet EventDispatcher sur lequel la méthode dispatchEvent() est appelée.
Paramètres
event:Event — Objet Event qui est distribué dans le flux d’événements. Si l’événement est redistribué, un clone est automatiquement créé. Après la distribution d'un événement, il est impossible de modifier sa propriété target. Pour que la redistribution fonctionne, vous devez donc créer une copie de l’événement.
|
Boolean — La valeur true indique si l'événement a bien été distribué. La valeur false indique un échec ou que preventDefault() a été appelé sur l'événement.
|
Error — La limite de récursivité relative à la distribution d’événements est atteinte.
|
| hasEventListener | () | méthode |
public function hasEventListener(type:String):Boolean
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Vérifie si des écouteurs sont enregistrés auprès de l'objet EventDispatcher pour un type spécifique d’événement. Vous pouvez ainsi déterminer l’emplacement auquel un objet EventDispatcher a modifié la gestion d'un type d'événement dans la hiérarchie du flux d’événements. Pour savoir si un type d’événement spécifique déclenche réellement un écouteur d’événements, utilisez willTrigger().
La différence entre les méthodes hasEventListener() et willTrigger() est la suivante : hasEventListener() examine uniquement l’objet auquel elle appartient, tandis que willTrigger() recherche dans la totalité du flux d’événements l'événement spécifié par le paramètre type.
Lorsque hasEventListener() est appelé à partir d’un objet LoaderInfo, seuls les écouteurs auxquels l’appelant a accès sont pris en compte.
Paramètres
type:String — Type d’événement.
|
Boolean — La valeur true est renvoyée si un écouteur du type spécifié est enregistré. La valeur false est renvoyée dans tous les autres cas.
|
Voir aussi
| removeEventListener | () | méthode |
public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Supprime un écouteur de l’objet EventDispatcher. Si aucun écouteur correspondant n'est enregistré auprès de l'objet EventDispatcher, appeler cette méthode n’a aucun effet.
Paramètres
type:String — Type d’événement.
|
|
listener:Function — Objet écouteur à supprimer.
|
|
useCapture:Boolean (default = false) — Indique si l'écouteur a été enregistré pendant la phase de capture ou pendant les phases cible et de propagation vers le haut (bubbling). Si l'écouteur a été enregistré pendant la phase de capture et pendant les phases cible et de propagation vers le haut (bubbling), il est nécessaire d’appeler removeEventListener() à deux reprises pour le supprimer. Appelez useCapture() une première fois en la définissant sur true, puis une seconde fois useCapture() en la définissant sur false.
|
Voir aussi
| willTrigger | () | méthode |
public function willTrigger(type:String):Boolean
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. Cette méthode renvoie true si un écouteur d’événement est déclenché pendant toute phase du flux d’événements lorsqu’un événement du type spécifié est distribué à cet objet EventDispatcher ou à l’un de ses descendants.
La différence entre les méthodes hasEventListener() et willTrigger() est la suivante : hasEventListener() examine uniquement l’objet auquel elle appartient, tandis que willTrigger() recherche dans la totalité du flux d’événements celui qui est spécifié par le paramètre type.
Lorsque willTrigger() est appelée à partir d’un objet LoaderInfo, seuls les écouteurs auxquels l’appelant a accès sont pris en compte.
Paramètres
type:String — Type d’événement.
|
Boolean — Renvoie true si un écouteur du type spécifié est enregistré, false dans tous les autres cas.
|
| activate | Evénement |
flash.events.Event
flash.events.Event.ACTIVATE
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Distribué lorsque Flash Player a le focus du système d’exploitation et devient actif.
Définit la valeur de la propriététype d’un objet événement activate.
Remarque : cet événement ne passe pas par une « phase de capture » et est distribué directement à la cible, que cette dernière soit dans la liste d'affichage ou non.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Toute occurrence de DisplayObject à laquelle est associé un écouteur pour l’événement ACTIVATE. |
| deactivate | Evénement |
flash.events.Event
flash.events.Event.DEACTIVATE
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Distribué lorsque Flash Player perd le focus du système d’exploitation et devient inactif.
Définit la valeur de la propriététype d'un objet événement deactivate.
Remarque : cet événement ne passe pas par une « phase de capture » et est distribué directement à la cible, que cette dernière soit dans la liste d'affichage ou non.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Toute occurrence de DisplayObject à laquelle est associé un écouteur pour l’événement DEACTIVATE. |
EventDispatcherExample et CustomDispatcher, une sous-classe de EventDispatcher, pour décrire la création et la distribution d'un événement personnalisé. L'exemple exécute les tâches suivantes :
EventDispatcherExample crée une variable locale dispatcher et l'affecte à une nouvelle occurrence de CustomDispatcher.CustomDispatcher, une chaîne est définie de sorte que l'événement présente le nom action et la méthode doAction() est déclarée. Lorsqu'elle est appelée, cette méthode crée l'événement action et le distribue à l'aide de EventDispatcher.dispatchEvent().dispatcher est alors utilisée pour ajouter l'écouteur d'événements action et la méthode d'abonné associée actionHandler(), qui imprime simplement les informations relatives à l'événement lorsque qu'il est distribué.doAction() est invoquée et distribue l'événement action.
package {
import flash.display.Sprite;
import flash.events.Event;
public class EventDispatcherExample extends Sprite {
public function EventDispatcherExample() {
var dispatcher:CustomDispatcher = new CustomDispatcher();
dispatcher.addEventListener(CustomDispatcher.ACTION, actionHandler);
dispatcher.doAction();
}
private function actionHandler(event:Event):void {
trace("actionHandler: " + event);
}
}
}
import flash.events.EventDispatcher;
import flash.events.Event;
class CustomDispatcher extends EventDispatcher {
public static var ACTION:String = "action";
public function doAction():void {
dispatchEvent(new Event(CustomDispatcher.ACTION));
}
}
M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/events/EventDispatcher.html