ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.events 

TextEvent  - AS3

Paketflash.events
Klassepublic class TextEvent
VererbungTextEvent Inheritance Event Inheritance Object
Unterklassen DataEvent, ErrorEvent, IMEEvent

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Ein Objekt sendet ein TextEvent-Objekt, wenn ein Benutzer Text in ein Textfeld eingibt oder auf einen Hyperlink in einem HTML-konformen Textfeld klickt. Es gibt zwei Arten von Textereignissen: TextEvent.LINK und TextEvent.TEXT_INPUT.

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedbubbles : Boolean
[schreibgeschützt] Gibt an, ob es sich bei dem Ereignis um ein Bubbling-Ereignis handelt.
Event
 Inheritedcancelable : Boolean
[schreibgeschützt] Gibt an, ob das mit dem Ereignis verknüpfte Verhalten verhindert werden kann.
Event
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
 InheritedcurrentTarget : Object
[schreibgeschützt] Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
Event
 InheritedeventPhase : uint
[schreibgeschützt] Die aktuelle Phase im Ereignisablauf.
Event
 Inheritedtarget : Object
[schreibgeschützt] Das Ereignis-Ziel.
Event
  text : String
Bei einem textInput-Ereignis das bzw. die vom Benutzer eingegebene(n) Zeichen.
TextEvent
 Inheritedtype : String
[schreibgeschützt] Der Ereignistyp.
Event
Öffentliche Methoden
 MethodeDefiniert von
  
TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
Erstellt ein Ereignisobjekt, das Informationen über Textereignisse enthält.
TextEvent
  
[override] Erstellt eine Kopie des TextEvent-Objekts und stellt den Wert jeder Eigenschaft so ein, dass er dem Wert des Originals entspricht.
TextEvent
 Inherited
formatToString(className:String, ... arguments):String
Eine Dienstprogrammfunktion zur Implementierung der toString()-Methode in benutzerdefinierten ActionScript 3.0 Event-Klassen.
Event
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Überprüft, ob die preventDefault()-Methode bei dem Ereignis aufgerufen wurde.
Event
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Bricht das Standardverhalten eines Ereignisses ab, wenn dieses Verhalten abgebrochen werden kann.
Event
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Verhindert die Verarbeitung von Ereignis-Listenern im aktuellen Knoten und in Knoten, die dem aktuellen Knoten im Ereignisablauf nachfolgen.
Event
 Inherited
Verhindert die Verarbeitung von Ereignis-Listenern in Knoten, die dem aktuellen Knoten im Ereignisablauf nachfolgen.
Event
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
  
[override] Gibt eine Zeichenfolge zurück, die alle Eigenschaften des TextEvent-Objekts enthält.
TextEvent
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Öffentliche Konstanten
 KonstanteDefiniert von
  LINK : String = "link"
[statisch] Definiert den Wert der Eigenschaft „type“ eines link-Ereignisobjekts.
TextEvent
  TEXT_INPUT : String = "textInput"
[statisch] Definiert den Wert der type-Eigenschaft eines textInput-Ereignisobjekts.
TextEvent
Eigenschaftendetails

text

Eigenschaft
text:String

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Bei einem textInput-Ereignis das bzw. die vom Benutzer eingegebenen Zeichen. Bei einem link-Ereignis der Text des Attributs event des href-Attributs des <a>-Tags.



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

Beispiel  ( Verwendung dieses Beispiels )
Im folgenden Code wird gezeigt, wie das link-Ereignis ausgelöst wird, wenn ein Benutzer auf den Hypertext-Link klickt:
    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
    }
    
Konstruktordetails

TextEvent

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt ein Ereignisobjekt, das Informationen über Textereignisse enthält. Ereignisobjekte werden Ereignis-Listenern als Parameter übergeben.

Parameter
type:String — Der Ereignistyp. Ereignis-Listener können über die übernommene Eigenschaft type auf diese Informationen zugreifen. Folgende Werte sind möglich: TextEvent.LINK und TextEvent.TEXT_INPUT.
 
bubbles:Boolean (default = false) — Bestimmt, ob das Ereignisobjekt an der Bubbling-Phase des Ereignisablaufs teilnimmt. Ereignis-Listener können über die übernommene Eigenschaft bubbles auf diese Informationen zugreifen.
 
cancelable:Boolean (default = false) — Bestimmt, ob das Ereignisobjekt abgebrochen werden kann. Ereignis-Listener können über die übernommene Eigenschaft cancelable auf diese Informationen zugreifen.
 
text:String (default = "") — Vom Benutzer eingegebener Text. Ereignis-Listener können über die Eigenschaft text auf diese Informationen zugreifen.

Verwandte API-Elemente

Methodendetails

clone

()Methode
override public function clone():Event

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt eine Kopie des TextEvent-Objekts und stellt den Wert jeder Eigenschaft so ein, dass er dem Wert des Originals entspricht.

Rückgabewerte
Event — Ein neues TextEvent-Objekt mit Eigenschaftswerten, die denen des Originals entsprechen.

toString

()Methode 
override public function toString():String

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt eine Zeichenfolge zurück, die alle Eigenschaften des TextEvent-Objekts enthält. Der String liegt im folgenden Format vor:

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

Rückgabewerte
String — Eine Zeichenfolge, die alle Eigenschaften des TextEvent-Objekts enthält.
Konstantendetails

LINK

Konstante
public static const LINK:String = "link"

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Definiert den Wert der Eigenschaft type eines link-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblestrue
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetEs wurde auf das Textfeld mit dem Hyperlink geklickt. Das unter target angegebene Ziel ist nicht immer das Objekt in der Anzeigeliste, in der der Ereignis-Listener registriert wurde. Mit der Eigenschaft currentTarget können Sie auf das Objekt in der Anzeigeliste zugreifen, das das Ereignis derzeit verarbeitet.
textDer Rest der URL nach „event:“

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

In diesem Beispiel wird ein Textereignis ausgelöst, wenn ein Benutzer auf einen Hyperlink im HTML-Text klickt. Abhängig vom Link wird der Benutzer zu einer bestimmten Website geleitet (basierend auf dem Betriebssystem) oder es wird ein Kreis gezeichnet (basierend auf dem vom Benutzer ausgewählten Radius).

Es wird ein Textfeld erstellt und dessen Inhalt wird mithilfe der Eigenschaft htmlText auf einen String im HTML-Format festgelegt. Die Hyperlinks sind unterstrichen, damit sie vom Benutzer leichter erkannt werden. (Adobe Flash Player ändert den Mauszeiger nur, wenn sich der Zeiger über dem Link befindet.) Um sicherzustellen, dass der Mausklick des Benutzers eine ActionScript-Methode aufruft, beginnt die URL des Hyperlinks mit dem String "event:", und für das TextEvent.LINK-Ereignis wird ein Listener hinzugefügt.

Die linkHandler()-Methode, die beim Klicken des Benutzers auf einen Hyperlink ausgelöst wird, verwaltet alle Link-Ereignisse für das Textfeld. Die erste if-Anweisung überprüft die text-Eigenschaft des Ereignisses, die den Rest der URL nach dem "event:"-String enthält. Wenn der Benutzer auf den Link für das Betriebssystem geklickt hat, wird der Name des aktuellen Betriebssystems des Benutzers aus der Capabilities.os-Eigenschaft des Systems verwendet, um den Benutzer zu der entsprechenden Website zu leiten. Andernfalls wird der ausgewählte Radius, der von der text-Eigenschaft des Ereignisses übergeben wird, verwendet, um einen Kreis unter dem Textfeld zu zeichnen. Jedes Mal, wenn der Benutzer auf den Radius-Link klickt, wird der zuvor gezeichnete Kreis gelöscht und ein neuer Kreis mit dem ausgewählten Radius gezeichnet.

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

Konstante 
public static const TEXT_INPUT:String = "textInput"

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Definiert den Wert der Eigenschaft type eines textInput-Ereignisobjekts.

Hinweis: Dieses Ereignis wird für die Entf- und Rücktaste nicht ausgelöst.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblestrue
cancelabletrue; rufen Sie die Methode preventDefault() auf, um das Standardverhalten abzubrechen.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Textfeld, in das die Zeichen eingegeben werden. Das Ziel ist nicht immer das Objekt in der Anzeigeliste, in der der Ereignis-Listener registriert wurde. Mit der Eigenschaft currentTarget können Sie auf das Objekt in der Anzeigeliste zugreifen, das das Ereignis derzeit verarbeitet.
textDas bzw. die Zeichen wird/werden vom Benutzer eingegeben.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird der Benutzer durch das Generieren eines speziellen Kombinationsschlüssels (ähnlich einem Kennwort) geleitet. Dieser Kombinationsschlüssel besteht aus sieben alphanumerischen Zeichen, wobei das zweite und das fünfte Zeichen Ziffern sind.

Drei Textfelder für Anweisungen, die Benutzereingabe und die Warnungen (Fehlermeldungen) werden erstellt. Ein Ereignis-Listener wird hinzugefügt, um auf die Texteingabe des Benutzers zu reagieren, indem die Methode textInputHandler() ausgelöst wird. (Jedes Mal, wenn der Benutzer Text eingibt, wird ein TextEvent.TEXT_INPUT-Ereignis ausgelöst.

Hinweis: Die Textereignisse werden ausgelöst, wenn der Benutzer Textzeichen eingibt, aber nicht, wenn zum Beispiel die Rücktaste gedrückt wird. Um alle Tastaturereignisse zu erfassen, verwenden Sie einen Listener für das KeyboardEvent-Ereignis.)

Die Methode textInputHandler() kontrolliert und verwaltet die Benutzereingabe. Die Methode preventDefault() wird verwendet, um zu verhindern, dass Adobe Flash Player den Text sofort im Eingabetextfeld anzeigt. Die Anwendung ist dann für die Aktualisierung des Feldes zuständig. Um Löschungen oder Änderungen, die der Benutzer an den bereits eingegebenen Zeichen (result-String) vorgenommen hat, rückgängig zu machen, wird der Inhalt des Eingabetextfelds dem result-String zugewiesen, wenn ein Benutzer neue Zeichen eingibt. Um die Einheitlichkeit der Benutzeroberfläche zu gewährleisten, platziert die setSelection()-Methode die Einfügemarke hinter dem zuletzt ausgewählten Zeichen im Textfeld.

Die erste if-Anweisung in der textInputHandler()-Methode überprüft das zweite und das fünfte Zeichen des eingegebenen Kombinationsschlüssels, bei dem es sich jeweils um eine Ziffer handeln muss. Wenn die Benutzereingabe korrekt ist, wird die Methode updateCombination() aufgerufen und der Kombinationsschlüsselstring (result) wird an die Benutzereingabe angehängt. Die updateCombination()-Methode verschiebt auch die Einfügemarke hinter das ausgewählte Zeichen. Nachdem die sieben Zeichen eingegeben wurden, ändert die letzte if-Anweisung in der textInputHandler()-Methode den Typ des Textfelds inputTextField von INPUT zu DYNAMIC, was bedeutet, dass der Benutzer keine Zeichen mehr eingeben oder ändern kann.

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

Im folgenden Beispiel werden mit der Klasse „TextEventExample“ Textfelder erstellt und Listener für verschiedene Textereignisse in diesen Textfeldern eingerichtet. In diesem Beispiel werden die folgenden Aufgaben ausgeführt:
  1. Im Beispiel werden Konstanten für die beiden später verwendeten URLs deklariert.
  2. Im Beispiel werden zwei Variablen vom Typ „TextField“ für die spätere Verwendung deklariert.
  3. Der Klassenkonstruktor ruft die folgenden beiden Methoden auf:
    • init() initialisiert die TextField-Objekte und fügt Ereignis-Listener hinzu.
    • draw() fügt die TextField-Objekte der Anzeigeliste hinzu und weist den anzuzeigenden Text zu.
  4. Die Listener linkHandler() und textInputHandler() reagieren auf die für ihren Ereignistyp relevanten Ereignisse. Mit der Methode linkHandler() wird ein Webbrowser geöffnet (falls dies noch nicht der Fall ist), und die URL-Adresse, auf die geklickt wurde, wird angesteuert. Mit der Methode textInputHandler() werden lediglich Informationen angezeigt, wenn eine Taste im zugehörigen Textfeld gedrückt wird.

Hinweis: Die Domäne in diesem Beispiel ist fiktiv. [yourDomain] muss durch einen tatsächlichen Domänennamen ausgetauscht werden.

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




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.