Modèle de gestion des événements ActionScript 3.0

ActionScript 3.0 utilise un modèle de gestion d’événements qui vient remplacer les nombreux mécanismes qui existaient dans les précédentes versions de ce langage. Le nouveau modèle d’événements repose sur la spécification d’événements de niveau 3 DOM (Document Object Model).

Pour les développeurs qui connaissent bien la méthode addListener() d’ActionScript 2.0, il peut être utile de souligner les différences entre le modèle d’écouteur d’événements d’ActionScript 2.0 et le modèle d’événements d’ActionScript 3.0. La liste ci-après décrit les principales différences entre ces deux modèles d’événements :

  • Pour ajouter des écouteurs d’événements dans ActionScript 2.0, vous utilisez, selon le cas, addListener() ou addEventListener() . Dans ActionScript 3.0, il faut utiliser addEventListener() dans tous les cas.

  • ActionScript 2.0 ne propose aucun flux d’événements, ce qui signifie que la méthode addListener() peut uniquement être appelée sur l’objet qui émet l’événement. Dans ActionScript 3.0, la méthode addEventListener() peut être appelée sur tout objet faisant partie du flux d’événements.

  • Dans ActionScript 2.0, les écouteurs d’événements peuvent être des fonctions, des méthodes ou des objets, alors que dans ActionScript 3.0, seules les fonctions et les méthodes peuvent agir comme écouteurs d’événements.

  • La syntaxe on( event ) n’est plus prise en charge dans ActionScript 3.0 ; par conséquent, vous ne pouvez pas lier du code d’événement ActionScript à un clip. Vous pouvez uniquement utiliser addEventListener() pour ajouter un écouteur d’événement.

    L’exemple suivant, qui écoute un événement MouseEvent.CLICK sur un composant Button appelé aButton , illustre le modèle de gestion des événements ActionScript 3.0 de base :

    aButton.addEventListener(MouseEvent.CLICK, clickHandler); 
    function clickHandler(event:MouseEvent):void { 
    trace("clickHandler detected an event of type: " + event.type);  
    trace("the event occurred on: " + event.target.name);  
    }

    Pour plus d’informations sur la gestion des événements ActionScript 3.0, voir le guide Programmation d’ActionScript 3.0 . Pour plus d’informations sur la gestion des événements ActionScript 3.0 des composants, voir la section Gestion des événements .