Adobe® Flex® 4 Language Reference
Hide Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
flash.events 
TextEvent 
Packageflash.events
Classpublic class TextEvent
InheritanceTextEvent Inheritance Event Inheritance Object
Subclasses DataEvent, ErrorEvent, IMEEvent

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0 Flash Player 9

An object dispatches a TextEvent object when a user enters text in a text field or clicks a hyperlink in an HTML-enabled text field. There are two types of text events: TextEvent.LINK and TextEvent.TEXT_INPUT.

View the examples

See also



Public Properties
 PropertyDefined By
 Inheritedbubbles : Boolean
[read-only] Indicates whether an event is a bubbling event.
Event
 Inheritedcancelable : Boolean
[read-only] Indicates whether the behavior associated with the event can be prevented.
Event
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheritedcurrentTarget : Object
[read-only] The object that is actively processing the Event object with an event listener.
Event
 InheritedeventPhase : uint
[read-only] The current phase in the event flow.
Event
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
 Inheritedtarget : Object
[read-only] The event target.
Event
  text : String
For a textInput event, the character or sequence of characters entered by the user.
TextEvent
 Inheritedtype : String
[read-only] The type of event.
Event
Public Methods
 MethodDefined By
  
TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
Creates an Event object that contains information about text events.
TextEvent
  
[override] Creates a copy of the TextEvent object and sets the value of each property to match that of the original.
TextEvent
 Inherited
formatToString(className:String, ... arguments):String
A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes.
Event
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Checks whether the preventDefault() method has been called on the event.
Event
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Cancels an event's default behavior if that behavior can be canceled.
Event
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow.
Event
 Inherited
Prevents processing of any event listeners in nodes subsequent to the current node in the event flow.
Event
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
  
[override] Returns a string that contains all the properties of the TextEvent object.
TextEvent
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined By
 InheritedACTIVATE : String = "activate"
[static] The ACTIVATE constant defines the value of the type property of an activate event object.
Event
 InheritedADDED : String = "added"
[static] The Event.ADDED constant defines the value of the type property of an added event object.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[static] The Event.ADDED_TO_STAGE constant defines the value of the type property of an addedToStage event object.
Event
 InheritedCANCEL : String = "cancel"
[static] The Event.CANCEL constant defines the value of the type property of a cancel event object.
Event
 InheritedCHANGE : String = "change"
[static] The Event.CHANGE constant defines the value of the type property of a change event object.
Event
 InheritedCLEAR : String = "clear"
[static] The Event.CLEAR constant efines the value of the type property of a clear event object.
Event
 InheritedCLOSE : String = "close"
[static] The Event.CLOSE constant defines the value of the type property of a close event object.
Event
 InheritedAIR-only CLOSING : String = "closing"
[static] The Event.CLOSING constant defines the value of the type property of a closing event object.
Event
 InheritedCOMPLETE : String = "complete"
[static] The Event.COMPLETE constant defines the value of the type property of a complete event object.
Event
 InheritedCONNECT : String = "connect"
[static] The Event.CONNECT constant defines the value of the type property of a connect event object.
Event
 InheritedCOPY : String = "copy"
[static] Defines the value of the type property of a copy event object.
Event
 InheritedCUT : String = "cut"
[static] Defines the value of the type property of a cut event object.
Event
 InheritedDEACTIVATE : String = "deactivate"
[static] The Event.DEACTIVATE constant defines the value of the type property of a deactivate event object.
Event
 InheritedDISPLAYING : String = "displaying"
[static] The Event.DISPLAYING constant defines the value of the type property of a displaying event object.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[static] The Event.ENTER_FRAME constant defines the value of the type property of an enterFrame event object.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[static] The Event.EXIT_FRAME constant defines the value of the type property of an exitFrame event object.
Event
 InheritedAIR-only EXITING : String = "exiting"
[static] The Event.EXITING constant defines the value of the type property of an exiting event object.
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[static] The Event.FRAME_CONSTRUCTED constant defines the value of the type property of an frameConstructed event object.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[static] The Event.FULL_SCREEN constant defines the value of the type property of a fullScreen event object.
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[static] The Event.HTML_BOUNDS_CHANGE constant defines the value of the type property of an htmlBoundsChange event object.
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[static] The Event.HTML_DOM_INITIALIZE constant defines the value of the type property of an htmlDOMInitialize event object.
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[static] The Event.HTML_RENDER constant defines the value of the type property of an htmlRender event object.
Event
 InheritedID3 : String = "id3"
[static] The Event.ID3 constant defines the value of the type property of an id3 event object.
Event
 InheritedINIT : String = "init"
[static] The Event.INIT constant defines the value of the type property of an init event object.
Event
  LINK : String = "link"
[static] Defines the value of the type property of a link event object.
TextEvent
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[static] The Event.LOCATION_CHANGE constant defines the value of the type property of a locationChange event object.
Event
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[static] The Event.MOUSE_LEAVE constant defines the value of the type property of a mouseLeave event object.
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[static] The Event.NETWORK_CHANGE constant defines the value of the type property of a networkChange event object.
Event
 InheritedOPEN : String = "open"
[static] The Event.OPEN constant defines the value of the type property of an open event object.
Event
 InheritedPASTE : String = "paste"
[static] The Event.PASTE constant defines the value of the type property of a paste event object.
Event
 InheritedREMOVED : String = "removed"
[static] The Event.REMOVED constant defines the value of the type property of a removed event object.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[static] The Event.REMOVED_FROM_STAGE constant defines the value of the type property of a removedFromStage event object.
Event
 InheritedRENDER : String = "render"
[static] The Event.RENDER constant defines the value of the type property of a render event object.
Event
 InheritedRESIZE : String = "resize"
[static] The Event.RESIZE constant defines the value of the type property of a resize event object.
Event
 InheritedSCROLL : String = "scroll"
[static] The Event.SCROLL constant defines the value of the type property of a scroll event object.
Event
 InheritedSELECT : String = "select"
[static] The Event.SELECT constant defines the value of the type property of a select event object.
Event
 InheritedSELECT_ALL : String = "selectAll"
[static] The Event.SELECT_ALL constant defines the value of the type property of a selectAll event object.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[static] The Event.SOUND_COMPLETE constant defines the value of the type property of a soundComplete event object.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[static] The Event.TAB_CHILDREN_CHANGE constant defines the value of the type property of a tabChildrenChange event object.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[static] The Event.TAB_ENABLED_CHANGE constant defines the value of the type property of a tabEnabledChange event object.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[static] The Event.TAB_INDEX_CHANGE constant defines the value of the type property of a tabIndexChange event object.
Event
  TEXT_INPUT : String = "textInput"
[static] Defines the value of the type property of a textInput event object.
TextEvent
 InheritedUNLOAD : String = "unload"
[static] The Event.UNLOAD constant defines the value of the type property of an unload event object.
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[static] The Event.USER_IDLE constant defines the value of the type property of a userIdle event object.
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[static] The Event.USER_PRESENT constant defines the value of the type property of a userPresent event object.
Event
Property Detail

text

property
text:String

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0 Flash Player 9

For a textInput event, the character or sequence of characters entered by the user. For a link event, the text of the event attribute of the href attribute of the <a> tag.



Implementation
    public function get text():String
    public function set text(value:String):void

Example  ( How to use this example )
The following code shows that the link event is dispatched when a user clicks the hypertext link:
    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
    }
    
Constructor Detail

TextEvent

()Constructor
public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0 Flash Player 9

Creates an Event object that contains information about text events. Event objects are passed as parameters to event listeners.

Parameters
type:String — The type of the event. Event listeners can access this information through the inherited type property. Possible values are: TextEvent.LINK and TextEvent.TEXT_INPUT.
 
bubbles:Boolean (default = false) — Determines whether the Event object participates in the bubbling phase of the event flow. Event listeners can access this information through the inherited bubbles property.
 
cancelable:Boolean (default = false) — Determines whether the Event object can be canceled. Event listeners can access this information through the inherited cancelable property.
 
text:String (default = "") — One or more characters of text entered by the user. Event listeners can access this information through the text property.

See also

Method Detail

clone

()method
override public function clone():Event

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0 Flash Player 9

Creates a copy of the TextEvent object and sets the value of each property to match that of the original.

Returns
Event — A new TextEvent object with property values that match those of the original.

toString

()method 
override public function toString():String

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0 Flash Player 9

Returns a string that contains all the properties of the TextEvent object. The string is in the following format:

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

Returns
String — A string that contains all the properties of the TextEvent object.
Constant Detail

LINK

Constant
public static const LINK:String = "link"

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0 Flash Player 9

Defines the value of the type property of a link event object.

This event has the following properties:

PropertyValue
bubblestrue
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe text field containing the hyperlink that has been clicked. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.
textThe remainder of the URL after "event:"

See also


Example  ( How to use this example )

In this example, when a user clicks a hyperlink in HTML text, it triggers a text event. Depending on the link, the user is sent to a designated website based on the system's operating system, or a circle is drawn based on the user's selected radius.

A text field is created and its content is set to an HTML-formatted string by using the htmlText property. The links are underlined for easier identification by the user. (Adobe Flash Player changes the mouse pointer only after the pointer is over the link.) To make sure that the user's click invokes an ActionScript method, the URL of the link begins with the "event:" string and a listener is added for the TextEvent.LINK event.

The linkHandler() method that is triggered after the user clicks a link manages all the link events for the text field. The first if statement checks the text property of the event, which holds the remainder of the URL after the "event:" string. If the user clicked the link for the operating system, the name of the user's current operating system, taken from the system's Capabilities.os property, is used to send the user to the designated website. Otherwise, the selected radius size, passed by the event's text property, is used to draw a circle below the text field. Each time the user clicks the radius link, the previously drawn circle is cleared and a new red circle with the selected radius size is drawn.

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_INPUT

Constant 
public static const TEXT_INPUT:String = "textInput"

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0 Flash Player 9

Defines the value of the type property of a textInput event object.

Note: This event is not dispatched for the Delete or Backspace keys.

This event has the following properties:

PropertyValue
bubblestrue
cancelabletrue; call the preventDefault() method to cancel default behavior.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe text field into which characters are being entered. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.
textThe character or sequence of characters entered by the user.

See also


Example  ( How to use this example )

The following example guides the user in generating a special combination key (similar to a password). This combination key has seven alphanumeric characters, where the second and fifth characters are numeric.

Three text fields for the preliminary instructions, the user input, and the warning (error) messages are created. An event listener is added to respond to the user's text input by triggering the textInputHandler() method. (Every time the user enters text, a TextEvent.TEXT_INPUT event is dispatched.

Note: The text events are dispatched when a user enters characters and not as a response to any keyboard input, such as backspace. To catch all keyboard events, use a listener for the KeyboardEvent event.)

The textInputHandler() method controls and manages the user input. The preventDefault() method is used to prevent Adobe Flash Player from immediately displaying the text in the input text field. The application is responsible for updating the field. To undo the user's deletion or modification to the characters already entered (the result string), the content of the input text field is reassigned to the result string when a user enters new characters. Also, to produce a consistent user experience, the setSelection() method places the insertion point (a caret) after the last selected character in the text field.

The first if statement in the textInputHandler() method checks the input for the second and fifth character positions of the combination key, which must be numbers. If the user input is correct, the updateCombination() method is called and the (result) combination key string is appended with the user input. The updateCombination() method also moves the insertion point after the selected character. After the seven characters are entered, the last if statement in the textInputHandler() method changes type of the inputTextField text field from INPUT to DYNAMIC, which means that the user can no longer enter or change any characters.

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);
        }
    }
}
TextEventExample.as

The following example uses the TextEventExample class to create text fields and to listen for various text events on them. The example carries out the following tasks:
  1. The example declares constants for two URLs to be used later.
  2. The example declares two variables of type TextField to be used later.
  3. The class constructor calls the following two methods:
    • init() initializes the TextField objects and add event listeners to them.
    • draw() adds the TextFields to the display list and assigns the text to be displayed.
  4. The listeners linkHandler() and textInputHandler() react to the events according to their event type. The linkHandler() method opens a web browser if one is not open already and navigates to the clicked URL. The textInputHandler() method simply displays information every time a key is pressed in the associated text field.

Note: The domain shown in this example is fictitious and [yourDomain] should be replaced with a real domain.

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);
        }
    }
}