Packageflash.events
Classepublic class TextEvent
HéritageTextEvent Inheritance Event Inheritance Object
Sous-classes DataEvent, ErrorEvent, IMEEvent

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Un objet distribue un objet TextEvent lorsqu’un utilisateur saisit du texte dans un champ de texte ou clique sur un lien hypertexte dans une zone de texte de type HTML. Il existe deux types d'événements texte : TextEvent.LINK et TextEvent.TEXT_INPUT.

Consulter les exemples

Voir aussi

flash.text.TextField


Propriétés publiques
 PropriétéDéfini par
 Inheritedbubbles : Boolean
[lecture seule] Indique si un événement peut se propager vers le haut (bubbling).
Event
 Inheritedcancelable : Boolean
[lecture seule] Indique si le comportement associé à l'événement peut être annulé.
Event
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
 InheritedcurrentTarget : Object
[lecture seule] L'objet qui traite activement l'objet Event avec un écouteur d'événements.
Event
 InheritedeventPhase : uint
[lecture seule] Phase actuelle du flux d'événements.
Event
 Inheritedprototype : Object
[statique] Référence à l'objet prototype d'un objet de classe ou fonction.
Object
 Inheritedtarget : Object
[lecture seule] Cible de l'événement.
Event
  text : String
Dans le cas d'un événement textInput, caractère ou suite de caractères entré par l'utilisateur.
TextEvent
 Inheritedtype : String
[lecture seule] Type d'événement.
Event
Méthodes publiques
 MéthodeDéfini par
  
TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
Crée un objet Event contenant des informations sur les événements texte.
TextEvent
  
Crée une copie de l'objet TextEvent et définit la valeur de chaque propriété de sorte qu'elle corresponde à la valeur d'origine.
TextEvent
 Inherited
formatToString(className:String, ... arguments):String
Fonction d'un utilitaire permettant d'implémenter la méthode toString() dans des classes Event ActionScript 3.0 personnalisées.
Event
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 Inherited
Vérifie si la méthode preventDefault() a été appelée pour l'événement.
Event
 Inherited
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
 Inherited
Annule le comportement par défaut d'un événement si cette opération est possible.
Event
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Bloque le traitement des écouteurs d'événement dans le nœud actuel et les suivants dans le flux d'événements.
Event
 Inherited
Bloque le traitement des écouteurs d'événement dans les nœuds qui suivent le nœud actuel dans le flux d'événements.
Event
  
Renvoie une chaîne répertoriant toutes les propriétés de l'objet TextEvent.
TextEvent
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
Constantes publiques
 ConstanteDéfini par
 InheritedACTIVATE : String = "activate"
[statique] La constante ACTIVATE définit la valeur de la propriété type d'un objet événement activate.
Event
 InheritedADDED : String = "added"
[statique] La constante Event.ADDED définit la valeur de la propriété type d'un objet événement added.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[statique] La constante Event.ADDED_TO_STAGE définit la valeur de la propriété type d'un objet d'événement addedToStage.
Event
 InheritedCANCEL : String = "cancel"
[statique] La constante Event.CANCEL définit la valeur de la propriété type d'un objet événement cancel.
Event
 InheritedCHANGE : String = "change"
[statique] La constante Event.CHANGE définit la valeur de la propriété type de l'objet d'événement change.
Event
 InheritedCLEAR : String = "clear"
[statique] La constante Event.CLEAR définit la valeur de la propriété type d'un objet événement clear.
Event
 InheritedCLOSE : String = "close"
[statique] La constante Event.CLOSE définit la valeur de la propriété type d'un objet événement close.
Event
 InheritedAIR-only CLOSING : String = "closing"
[statique] La constante Event.CLOSING définit la valeur de la propriété type d'un objet événement closing.
Event
 InheritedCOMPLETE : String = "complete"
[statique] La constante Event.COMPLETE définit la valeur de la propriété type d'un objet événement complete.
Event
 InheritedCONNECT : String = "connect"
[statique] La constante Event.CONNECT définit la valeur de la propriété type d'un objet événement connect.
Event
 InheritedCOPY : String = "copy"
[statique] Définit la valeur de la propriété type d'un objet d'événement copy.
Event
 InheritedCUT : String = "cut"
[statique] Définit la valeur de la propriété type d'un objet d'événement cut.
Event
 InheritedDEACTIVATE : String = "deactivate"
[statique] La constante Event.DEACTIVATE définit la valeur de la propriété type d'un objet événement deactivate.
Event
 InheritedDISPLAYING : String = "displaying"
[statique] La constante Event.DISPLAYING définit la valeur de la propriété type d'un objet événement displaying.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[statique] La constante Event.ENTER_FRAME définit la valeur de la propriété type d'un objet événement enterFrame.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[statique] La constante Event.EXIT_FRAME définit la valeur de la propriété type d'un objet événement exitFrame.
Event
 InheritedAIR-only EXITING : String = "exiting"
[statique] La constante Event.EXITING définit la valeur de la propriété type de l'objet d'événement exiting.
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[statique] La constante Event.FRAME_CONSTRUCTED définit la valeur de la propriété type d'un objet événement frameConstructed.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[statique] La constante Event.FULL_SCREEN définit la valeur de la propriété type d'un objet événement fullScreen.
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[statique] La constante Event.HTML_BOUNDS_CHANGE définit la valeur de la propriété type d'un objet événement htmlBoundsChange.
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[statique] La constante Event.HTML_DOM_INITIALIZE définit la valeur de la propriété type d'un objet événement htmlDOMInitialize.
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[statique] La constante Event.HTML_RENDER définit la valeur de la propriété type d'un objet événement htmlRender.
Event
 InheritedID3 : String = "id3"
[statique] La constante Event.ID3 définit la valeur de la propriété type d'un objet événement id3.
Event
 InheritedINIT : String = "init"
[statique] La constante Event.INIT définit la valeur de la propriété type d'un objet événement init.
Event
  LINK : String = "link"
[statique] Définit la valeur de la propriété type d'un objet événement link.
TextEvent
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[statique] La constante Event.LOCATION_CHANGE définit la valeur de la propriété type d'un objet événement locationChange.
Event
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[statique] La constante Event.MOUSE_LEAVE définit la valeur de la propriété type d'un objet événement mouseLeave.
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[statique] La constante Event.NETWORK_CHANGE définit la valeur de la propriété type d'un objet événement networkChange.
Event
 InheritedOPEN : String = "open"
[statique] La constante Event.OPEN définit la valeur de la propriété type d'un objet événement open.
Event
 InheritedPASTE : String = "paste"
[statique] La constante Event.PASTE définit la valeur de la propriété type d'un objet événement paste.
Event
 InheritedREMOVED : String = "removed"
[statique] La constante Event.REMOVED définit la valeur de la propriété type d'un objet événement removed.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[statique] La constante Event.REMOVED_FROM_STAGE définit la valeur de la propriété type d'un objet événement removedFromStage.
Event
 InheritedRENDER : String = "render"
[statique] La constante Event.RENDER définit la valeur de la propriété type d'un objet événement render.
Event
 InheritedRESIZE : String = "resize"
[statique] La constante Event.RESIZE définit la valeur de la propriété type d'un objet événement resize.
Event
 InheritedSCROLL : String = "scroll"
[statique] La constante Event.SCROLL définit la valeur de la propriété type d'un objet événement scroll.
Event
 InheritedSELECT : String = "select"
[statique] La constante Event.SELECT définit la valeur de la propriété type d'un objet événement select.
Event
 InheritedSELECT_ALL : String = "selectAll"
[statique] La constante Event.SELECT_ALL définit la valeur de la propriété type d'un objet événement selectAll.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[statique] La constante Event.SOUND_COMPLETE définit la valeur de la propriété type d'un objet événement soundComplete.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[statique] La constante Event.TAB_CHILDREN_CHANGE définit la valeur de la propriété type d'un objet événement tabChildrenChange.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[statique] La constante Event.TAB_ENABLED_CHANGE définit la valeur de la propriété type d'un objet événement tabEnabledChange.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[statique] La constante Event.TAB_INDEX_CHANGE définit la valeur de la propriété type d'un objet événement tabIndexChange.
Event
  TEXT_INPUT : String = "textInput"
[statique] Définit la valeur de la propriété type d'un objet événement textInput.
TextEvent
 InheritedUNLOAD : String = "unload"
[statique] La constante Event.UNLOAD définit la valeur de la propriété type d'un objet événement unload.
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[statique] La constante Event.USER_IDLE définit la valeur de la propriété type d'un objet événement userIdle.
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[statique] La constante Event.USER_PRESENT définit la valeur de la propriété type d'un objet événement userPresent.
Event
Détails de la propriété
textpropriété
text:String  [lecture-écriture]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Dans le cas d'un événement textInput, caractère ou suite de caractères entré par l'utilisateur. Dans le cas d'un événement link, texte de l'attribut event de l'attribut href de la balise <a>.



Implémentation
    public function get text():String
    public function set text(value:String):void

Exemple
Le code suivant montre que l'événement link est distribué lorsque l'utilisateur clique sur un lien hypertexte :
import flash.text.TextField;
 import flash.events.TextEvent;   
 
 var tf:TextField = new TextField();
 tf.htmlText = "<a href='event:myEvent'>Click Me.</a>";
 tf.addEventListener("link", clickHandler);
 addChild(tf);
 
 function clickHandler(e:TextEvent):void {
  trace(e.type); // link
  trace(e.text); // myEvent
 }
Détails du constructeur
TextEvent()Constructeur
public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Crée un objet Event contenant des informations sur les événements texte. Les objets Event sont transmis en tant que paramètres aux écouteurs d'événements.

Paramètres
type:String — Type de l'événement. Les écouteurs d'événement peuvent accéder à cette information par le biais de la propriété type héritée. Les valeurs possibles sont les suivantes : TextEvent.LINK et TextEvent.TEXT_INPUT.
 
bubbles:Boolean (default = false) — Détermine si l'objet Event prend part à la phase de propagation vers le haut (bubbling) du flux d'événements. Les écouteurs d'événement peuvent accéder à cette information par le biais de la propriété bubbles héritée.
 
cancelable:Boolean (default = false) — Détermine si l'objet Event peut être annulé. Les écouteurs d'événement peuvent accéder à cette information par le biais de la propriété cancelable héritée.
 
text:String (default = "") — Caractères de texte entrés par l'utilisateur. Les écouteurs d'événement peuvent accéder à cette information par le biais de la propriété text.

Voir aussi

Détails de la méthode
clone()méthode
override public function clone():Event

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Crée une copie de l'objet TextEvent et définit la valeur de chaque propriété de sorte qu'elle corresponde à la valeur d'origine.

Valeur renvoyée
Event — Nouvel objet TextEvent dont les propriétés ont la même valeur que celles de l'objet d'origine.
toString()méthode 
override public function toString():String

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Renvoie une chaîne répertoriant toutes les propriétés de l'objet TextEvent. La chaîne est écrite au format suivant :

[TextEvent type=valeur bubbles=valeur cancelable=valeur text=valeur ]

Valeur renvoyée
String — Chaîne répertoriant toutes les propriétés de l'objet TextEvent.
Détails de la constante
LINKConstante
public static const LINK:String = "link"

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Définit la valeur de la propriété type d'un objet événement link.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubbles true
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 Champ de texte contenant l'hyperlien sur lequel l'utilisateur a cliqué. La propriété target ne correspond pas toujours à l'objet de la liste d'affichage qui est associé à l'écouteur d'événement. Utilisez la propriété currentTarget pour accéder à l'objet de la liste d'affichage qui traite actuellement l'événement.
text Reste de l'URL après « event: »

Voir aussi


Exemple

Dans cet exemple, lorsqu'un utilisateur clique sur un lien hypertexte dans un texte HTML, il déclenche un événement text. Selon le lien, l'utilisateur est envoyé vers un site Web désigné en fonction du système d'exploitation ou un cercle est dessiné selon le rayon sélectionné par l'utilisateur.

Un champ de texte est créé et son contenu est défini sur une chaîne formatée en HTML à l'aide de la propriété htmlText. Les liens sont soulignés pour faciliter l'identification par l'utilisateur. (Adobe Flash Player change le pointeur de la souris une fois que le pointeur a survolé le lien uniquement.) Pour s'assurer qu'un clic de souris de l'utilisateur va bien invoquer une méthode ActionScript, l'URL du lien commence par la chaîne "event:" et un écouteur est ajouté pour l'événement TextEvent.LINK.

La méthode linkHandler(), déclenchée après que l'utilisateur a cliqué sur un lien, gère tous les événements de lien pour le champ de texte. La première instruction if vérifie la propriété text de l'événement, qui contient le reste de l'URL derrière la chaîne "event:". Si l'utilisateur a cliqué sur le lien pour le système d'exploitation, le nom du système d'exploitation actuel de l'utilisateur, récupéré dans la propriété Capabilities.os du système, est utilisé pour envoyer l'utilisateur vers le site Web désigné. Dans le cas contraire, la taille du rayon sélectionnée, transmise par la propriété text de l'événement, est utilisée pour dessiner un cercle sous le champ de texte. A chaque clic de l'utilisateur sur le lien du rayon, le cercle dessiné précédemment est effacé et un nouveau cercle rouge est dessiné avec la taille du rayon sélectionnée.

package {
    import flash.display.Sprite;
    import flash.events.TextEvent;
    import flash.errors.IOError;
    import flash.events.IOErrorEvent;
    import flash.system.Capabilities;
    import flash.net.navigateToURL;
    import flash.net.URLRequest;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.display.Shape;
    import flash.display.Graphics;

    public class TextEvent_LINKExample extends Sprite {
        private  var myCircle:Shape = new Shape();
        
        public function TextEvent_LINKExample() {
            var myTextField:TextField = new TextField();
            myTextField.autoSize = TextFieldAutoSize.LEFT;
            myTextField.multiline = true;
            myTextField.background = true;
            myTextField.htmlText = "Draw a circle with the radius of <u><a href=\"event:20\">20 pixels</a></u>.<br>" 
                         +  "Draw a circle with the radius of <u><a href=\"event:50\">50 pixels</a></u>.<br><br>"
                         +  "<u><a href=\"event:os\">Learn about your operating system.</a></u><br>";

            myTextField.addEventListener(TextEvent.LINK, linkHandler);

            this.addChild(myTextField);
            this.addChild(myCircle);
        }
        
        private function linkHandler(e:TextEvent):void {
            var osString:String = Capabilities.os;
            
            if(e.text == "os") {
       
                if (osString.search(/Windows/) != -1 ){
                    navigateToURL(new URLRequest("http://www.microsoft.com/"), "_self");
                }else if (osString.search(/Mac/) != -1 ) {
                    navigateToURL(new URLRequest("http://www.apple.com/"), "_self");
                } else if (osString.search(/linux/i)!= -1) {
                    navigateToURL(new URLRequest("http://www.tldp.org/"), "_self");
                }
            
            } else {
                myCircle.graphics.clear();    
                myCircle.graphics.beginFill(0xFF0000);
                myCircle.graphics.drawCircle(100, 150, Number(e.text));
                myCircle.graphics.endFill();
            }             
        }
    }
}
TEXT_INPUTConstante 
public static const TEXT_INPUT:String = "textInput"

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Définit la valeur de la propriété type d'un objet événement textInput.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubbles true
cancelable true ; appelez la méthode preventDefault() pour annuler le comportement par défaut.
currentTarget L'objet qui traite activement l'objet Event avec un écouteur d'événements.
target Champ de texte dans lequel sont entrés des caractères. La cible ne correspond pas toujours à l'objet de la liste d'affichage qui est associé à l'écouteur d'événement. Utilisez la propriété currentTarget pour accéder à l'objet de la liste d'affichage qui traite actuellement l'événement.
text Caractère ou série de caractères entré par l'utilisateur.

Voir aussi


Exemple

L'exemple suivant guide l'utilisateur dans la création d'une clé de combinaison spéciale (similaire à un mot de passe). Cette clé de combinaison contient sept caractères alphanumériques, dont le deuxième et le cinquième sont numériques.

Trois champs de texte pour les instructions préliminaires, l'entrée de l'utilisateur et les messages d'avertissement (erreur) sont créés. Un écouteur d'événement est ajouté pour répondre à la saisie de l'utilisateur en déclenchant la méthode textInputHandler(). (A chaque saisie de l'utilisateur, un événement TextEvent.TEXT_INPUT est distribué.

Remarque : les événements sont déclenchés lorsqu'un utilisateur saisit des caractères de texte et non en réponse à toute touche du clavier, telle que la touche Retour arrière. Pour capturer tous les événements keyboard, utilisez un écouteur pour l'événement KeyboardEvent.)

La méthode textInputHandler() contrôle et gère l'entrée de l'utilisateur. La méthode preventDefault() est utilisée pour empêcher Adobe Flash Player d'afficher immédiatement le texte dans le champ de saisie. L'application est chargée de mettre le champ à jour. Pour annuler la suppression ou la modification de l'utilisateur des caractères déjà saisis (la chaîne result), le contenu du champ de texte est réaffecté à la chaîne result lorsque l'utilisateur fait une nouvelle saisie. Egalement, pour que l'utilisateur soit toujours confronté au même comportement, la méthode setSelection() place le point d'insertion (un caret) après le dernier caractère sélectionné dans le champ de texte.

La première instruction if de la méthode textInputHandler() vérifie le second et le cinquième caractères de la clé de combinaison saisie, qui doivent être numériques. Si l'entrée de l'utilisateur est correcte, la méthode updateCombination() est appelée et la chaîne de la clé de combinaison (result) est ajoutée à l'entrée de l'utilisateur. La méthode updateCombination() déplace également le point d'insertion après le caractère sélectionné. Une fois que les sept caractères sont saisis, la dernière instruction if dans la méthode textInputHandler() change le type du champ de texte inputTextField de INPUT à DYNAMIC, ce qui signifie que l'utilisateur ne peut plus saisir ni changer de caractères.

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFieldType;
    import flash.text.TextFieldAutoSize;
    import flash.events.TextEvent;

    public class TextEvent_TEXT_INPUTExample extends Sprite {
        private var instructionTextField:TextField = new TextField();
        private var inputTextField:TextField = new TextField(); 
        private var warningTextField:TextField = new TextField();
        private var result:String = "";

        public function TextEvent_TEXT_INPUTExample() {
            instructionTextField.x = 10;
            instructionTextField.y = 10;
            instructionTextField.background = true; 
            instructionTextField.autoSize = TextFieldAutoSize.LEFT;
            instructionTextField.text = "Please enter a value in the format A#AA#AA,\n" 
                                        + "where 'A' represents a letter and '#' represents a number.\n" +
                                        "(Note that once you input a character you can't change it.)" ;
        
            inputTextField.x = 10;
            inputTextField.y = 70;
            inputTextField.height = 20;
            inputTextField.width = 75;
            inputTextField.background = true;
            inputTextField.border = true;
            inputTextField.type = TextFieldType.INPUT; 
            
            warningTextField.x = 10;
            warningTextField.y = 100;
            warningTextField.autoSize = TextFieldAutoSize.LEFT;
 
            inputTextField.addEventListener(TextEvent.TEXT_INPUT, textInputHandler);   
           
            this.addChild(instructionTextField);
            this.addChild(inputTextField);
            this.addChild(warningTextField);
        }

        private function textInputHandler(event:TextEvent):void {
            var charExp:RegExp = /[a-zA-z]/;   
            var numExp:RegExp = /[0-9]/;

            event.preventDefault();  
            
            inputTextField.text = result;                
            inputTextField.setSelection(result.length + 1, result.length + 1);
 
            if (inputTextField.text.length == 1 || inputTextField.text.length == 4) {
            
                if(numExp.test(event.text) == true) {
                    updateCombination(event.text);
                } else {
                    warningTextField.text = "You need a single digit number.";
                }
               
            }else {
                
                if(charExp.test(event.text) == true) { 
                    updateCombination(event.text);
                } else {
                    warningTextField.text = "You need an alphabet character.";
                }
            }
 
            if(inputTextField.text.length == 7) {
                inputTextField.type = TextFieldType.DYNAMIC;
                instructionTextField.text = "CONGRATULATIONS. You've done.";                
            }          
        }

        private function updateCombination(s:String):void {
                    warningTextField.text = "";
                    result += s;           
                    inputTextField.text = result;
                    inputTextField.setSelection(result.length + 1, result.length + 1);
        }
    }
}
Exemples Utilisation des exemples
TextEventExample.as

L'exemple suivant utilise la classe TextEventExample pour créer des champs de texte et écouter divers événements texte sur ces derniers. L'exemple exécute les tâches suivantes :
  1. L'exemple déclare les constantes de deux URL à utiliser ultérieurement.
  2. L'exemple déclare les deux variables de type TextField à utiliser ultérieurement.
  3. Le constructeur de classe appelle les deux méthodes suivantes :
    • init() initialise les objets TextField et leur ajoute des écouteurs d'événement.
    • draw() ajoute des objets TextFields dans la liste d'affichage et affecte le texte à afficher.
  4. Les écouteurs linkHandler() et textInputHandler() réagissent aux événements en fonction de leur type. La méthode linkHandler() ouvre un navigateur Web lorsque aucun n'est ouvert et navigue jusqu'à l'adresse URL sur laquelle l'utilisateur a cliqué. La méthode textInputHandler() affiche simplement des informations chaque fois que l'utilisateur appuie sur une touche dans le champ de texte associé.

Remarque : le domaine de cet exemple est fictif et [yourDomain] doit être remplacé par votre propre nom de domaine.

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFieldType;
    import flash.text.TextFieldAutoSize;
    import flash.events.TextEvent;
    import flash.events.TextEvent;
    import flash.net.URLRequest;
    import flash.net.navigateToURL;
    
    public class TextEventExample extends Sprite {
        private const DOMAIN_1_URL:String = "http://www.[yourDomain].com";
        private const DOMAIN_2_URL:String = "http://www.[yourDomain].com";
        private var linkTxt:TextField;
        private var textInputTxt:TextField;
        
        public function TextEventExample() {
            init();
            draw();
        }
        
        private function init():void {
            linkTxt = new TextField();
            linkTxt.addEventListener(TextEvent.LINK, linkHandler);
            linkTxt.height = 60;
            linkTxt.autoSize = TextFieldAutoSize.LEFT;            
            linkTxt.multiline = true;
                
            textInputTxt = new TextField();
            textInputTxt.addEventListener(TextEvent.TEXT_INPUT, textInputHandler);
            textInputTxt.type = TextFieldType.INPUT;
            textInputTxt.background = true;
            textInputTxt.border = true;
            textInputTxt.height = 20;            
        }
        
        private function draw():void {
            addChild(linkTxt);
            linkTxt.htmlText += createLink(DOMAIN_1_URL, "Click to go to first domain");
            linkTxt.htmlText += "<br />";
            linkTxt.htmlText += createLink(DOMAIN_2_URL, "Click to go to second domain");

            addChild(textInputTxt);
            textInputTxt.y = linkTxt.height;
            textInputTxt.text = "type here";
        }
        
        private function createLink(url:String, text:String):String {
            var link:String = "";
            link += "<font color='#0000FF'>";
            link += "<u>";
            link += "<b>";
            link += "<a href='event:" + url + "'>" + text + "</a>";
            link += "</b>";
            link += "</u>";
            link += "</font>";
            return link;
        }
        
        private function linkHandler(e:TextEvent):void {
            var request:URLRequest = new URLRequest(e.text);
            navigateToURL(request);
        }
        
        private function textInputHandler(e:TextEvent):void {
            trace(">> ============================");
            trace(">> e.text: " + e.text);
            trace(">> textInputTxt.text: " + textInputTxt.text);
        }
    }
}