Paket | flash.events |
Klasse | public class TextEvent |
Vererbung | TextEvent Event Object |
Unterklassen | DataEvent, ErrorEvent, IMEEvent |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
TextEvent.LINK
und TextEvent.TEXT_INPUT
.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
bubbles : Boolean [schreibgeschützt]
Gibt an, ob es sich bei dem Ereignis um ein Bubbling-Ereignis handelt. | Event | ||
cancelable : Boolean [schreibgeschützt]
Gibt an, ob das mit dem Ereignis verknüpfte Verhalten verhindert werden kann. | Event | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
currentTarget : Object [schreibgeschützt]
Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. | Event | ||
eventPhase : uint [schreibgeschützt]
Die aktuelle Phase im Ereignisablauf. | Event | ||
target : Object [schreibgeschützt]
Das Ereignis-Ziel. | Event | ||
text : String
Bei einem textInput-Ereignis das bzw. die vom Benutzer eingegebene(n) Zeichen. | TextEvent | ||
type : String [schreibgeschützt]
Der Ereignistyp. | Event |
Methode | Definiert von | ||
---|---|---|---|
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 | ||
Eine Dienstprogrammfunktion zur Implementierung der toString()-Methode in benutzerdefinierten ActionScript 3.0 Event-Klassen. | Event | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Überprüft, ob die preventDefault()-Methode bei dem Ereignis aufgerufen wurde. | Event | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Bricht das Standardverhalten eines Ereignisses ab, wenn dieses Verhalten abgebrochen werden kann. | Event | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Verhindert die Verarbeitung von Ereignis-Listenern im aktuellen Knoten und in Knoten, die dem aktuellen Knoten im Ereignisablauf nachfolgen. | Event | ||
Verhindert die Verarbeitung von Ereignis-Listenern in Knoten, die dem aktuellen Knoten im Ereignisablauf nachfolgen. | Event | ||
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 | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
Konstante | Definiert 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 |
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 )
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 }
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.
Parametertype: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
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ückgabewerteEvent — 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]
String — Eine Zeichenfolge, die alle Eigenschaften des TextEvent-Objekts enthält.
|
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:
Eigenschaft | Wert |
---|---|
bubbles | true |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Es 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. |
text | Der Rest der URL nach „event:“ |
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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:
Eigenschaft | Wert |
---|---|
bubbles | true |
cancelable | true ; rufen Sie die Methode preventDefault() auf, um das Standardverhalten abzubrechen. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das 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. |
text | Das bzw. die Zeichen wird/werden vom Benutzer eingegeben. |
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
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); } } }
- Im Beispiel werden Konstanten für die beiden später verwendeten URLs deklariert.
- Im Beispiel werden zwei Variablen vom Typ „TextField“ für die spätere Verwendung deklariert.
- 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.
- Die Listener
linkHandler()
undtextInputHandler()
reagieren auf die für ihren Ereignistyp relevanten Ereignisse. Mit der MethodelinkHandler()
wird ein Webbrowser geöffnet (falls dies noch nicht der Fall ist), und die URL-Adresse, auf die geklickt wurde, wird angesteuert. Mit der MethodetextInputHandler()
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); } } }
Tue Jun 12 2018, 10:04 AM Z