Pakket | flash.events |
Klasse | public class TextEvent |
Overerving | TextEvent Event Object |
Subklassen | DataEvent, ErrorEvent, IMEEvent |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
TextEvent.LINK
en TextEvent.TEXT_INPUT
.
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
bubbles : Boolean [alleen-lezen]
Geeft aan of een gebeurtenis een terugkoppelgebeurtenis is. | Event | ||
cancelable : Boolean [alleen-lezen]
Geeft aan of het gedrag dat aan deze gebeurtenis is gekoppeld, kan worden voorkomen. | Event | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
currentTarget : Object [alleen-lezen]
Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. | Event | ||
eventPhase : uint [alleen-lezen]
De huidige fase in de gebeurtenisstroom. | Event | ||
target : Object [alleen-lezen]
Doel van gebeurtenis. | Event | ||
text : String
Het teken of de tekenreeks dat/die door de gebruiker is ingevoerd voor een gebeurtenis textInput. | TextEvent | ||
type : String [alleen-lezen]
Het type gebeurtenis. | Event |
Methode | Gedefinieerd door | ||
---|---|---|---|
Maakt een Event-object dat informatie bevat over gebeurtenissen Text. | TextEvent | ||
[overschrijven]
Maakt een kopie van het object TextEvent en stelt de waarde van elke eigenschap in zodat deze overeenkomt met die van het origineel. | TextEvent | ||
Een hulpprogrammafunctie voor de implementatie van de methode toString() in aangepaste ActionScript 3.0-Event-klassen. | Event | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Controleert of de methode preventDefault() is aangeroepen voor de gebeurtenis. | Event | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Annuleert het standaardgedrag van een gebeurtenis wanneer dat gedrag kan worden geannuleerd. | Event | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Voorkomt het verwerken van gebeurtenislisteners in het huidige knooppunt en volgende knooppunten in de gebeurtenisstroom. | Event | ||
Voorkomt het verwerken van gebeurtenislisteners in knooppunten die volgen op het huidige knooppunt in de gebeurtenisstroom. | Event | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
[overschrijven]
Retourneert een tekenreeks die alle eigenschappen van het object TextEvent bevat. | TextEvent | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
Constante | Gedefinieerd door | ||
---|---|---|---|
LINK : String = "link" [statisch]
Definieert de waarde van de eigenschap type van een gebeurtenisobject link. | TextEvent | ||
TEXT_INPUT : String = "textInput" [statisch]
Definieert de waarde van de eigenschap type van een gebeurtenisobject textInput. | TextEvent |
text | eigenschap |
text:String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Het teken of de tekenreeks dat/die door de gebruiker is ingevoerd voor een gebeurtenis textInput
. Voor een gebeurtenis link
wordt de tekst van het kenmerk event
van het kenmerk href
van de tag <a>
.
Implementatie
public function get text():String
public function set text(value:String):void
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
link
wordt verzonden wanneer een gebruiker op de hypertextkoppeling klikt:
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 | () | Constructor |
public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Maakt een Event-object dat informatie bevat over gebeurtenissen Text. Gebeurtenisobjecten worden als parameters aan gebeurtenislisteners doorgegeven.
Parameterstype:String — Het type gebeurtenis. Gebeurtenislisteners hebben toegang tot deze informatie via de overerfde eigenschap type . Mogelijke waarden zijn: TextEvent.LINK en TextEvent.TEXT_INPUT .
| |
bubbles:Boolean (default = false ) — Bepaalt of het Event-object deelneemt aan de terugkoppelfase van de gebeurtenisstroom. Gebeurtenislisteners hebben toegang tot deze informatie via de overerfde eigenschap bubbles .
| |
cancelable:Boolean (default = false ) — Bepaalt of het Event-object kan worden geannuleerd. Gebeurtenislisteners hebben toegang tot deze informatie via de overerfde eigenschap cancelable .
| |
text:String (default = " ") — Een of meer tekens van de, door de gebruiker ingevoerde tekst. Gebeurtenislisteners hebben toegang tot deze informatie via de eigenschap text .
|
Verwante API-elementen
clone | () | methode |
override public function clone():Event
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Maakt een kopie van het object TextEvent en stelt de waarde van elke eigenschap in zodat deze overeenkomt met die van het origineel.
Geretourneerde waardeEvent — Een nieuw object TextEvent met de eigenschapwaarden die overeenkomen met het origineel.
|
toString | () | methode |
override public function toString():String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retourneert een tekenreeks die alle eigenschappen van het object TextEvent bevat. De tekenreeks heeft de volgende indeling:
[TextEvent type=value bubbles=value cancelable=value text=value]
String — Een tekenreeks die alle eigenschappen van het object TextEvent bevat.
|
LINK | Constante |
public static const LINK:String = "link"
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Definieert de waarde van de eigenschap type
van een gebeurtenisobject link
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | true |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het tekstveld dat de hyperlink bevat die is aangeklikt. Het target is niet altijd het object in het weergaveoverzicht dat in de gebeurtenislistener is geregistreerd. Gebruik de eigenschap currentTarget voor toegang tot het object in het weergaveoverzicht dat momenteel de gebeurtenis verwerkt. |
text | De rest van de URL na 'event:' |
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
Er wordt een tekstveld gemaakt en de inhoud ervan wordt ingesteld op een tekenreeks met HTML-opmaak met de eigenschap htmlText
. De koppelingen zijn onderstreept zodat de gebruiker ze makkelijker als zodanig herkent. (Adobe Flash Player verandert de muisaanwijzer pas wanneer de aanwijzer zich boven de koppeling bevindt.) Om ervoor te zorgen dat met een muisklik een ActionScript-methode wordt aangeroepen, begint de URL van de koppeling met de tekenreeks "event:"
en wordt een listener toegevoegd voor de TextEvent.LINK
-gebeurtenis.
De methode linkHandler()
, die wordt geactiveerd nadat de gebruiker op een koppeling klikt, beheert alle koppelinggebeurtenissen voor het tekstveld. De eerste if-instructie controleert de eigenschap text
van de gebeurtenis, die de rest van de URL bevat na de tekenreeks "event:"
. Als de gebruiker op de koppeling voor het besturingssysteem heeft geklikt, wordt de naam van het huidige besturingssysteem van de gebruiker, afkomstig uit de eigenschap Capabilities.os
van het systeem, gebruikt om de gebruiker naar de opgegeven website te leiden. Anders wordt de geselecteerde straalgrootte, doorgegeven via de eigenschap text
van de gebeurtenis, gebruikt om een cirkel onder het tekstveld te tekenen. Elke keer dat de gebruiker op de straalkoppeling klikt, wordt de vorige cirkel gewist en wordt een nieuwe rode cirkel met de geselecteerde straalgrootte getekend.
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 | Constante |
public static const TEXT_INPUT:String = "textInput"
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Definieert de waarde van de eigenschap type
van een gebeurtenisobject textInput
.
Opmerking: deze gebeurtenis wordt niet verzonden voor de toetsen Delete of Backspace.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | true |
cancelable | true ; roep de methode preventDefault() aan om het standaardgedrag te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het tekstveld waarin de tekens worden ingevoerd. Het doel is niet altijd het object in het weergaveoverzicht dat in de gebeurtenislistener is geregistreerd. Gebruik de eigenschap currentTarget voor toegang tot het object in het weergaveoverzicht dat momenteel de gebeurtenis verwerkt. |
text | Het teken of de tekenreeks dat/die door de gebruiker is ingevoerd. |
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
Er worden drie tekstvelden gemaakt voor de voorlopige instructies, de gebruikersinvoer en de waarschuwings(fout)berichten. Er wordt een gebeurtenislistener toegevoegd om te reageren op de tekstinvoer van de gebruiker door de methode textInputHandler()
te activeren. (Telkens wanneer de gebruiker tekst invoert, wordt een TextEvent.TEXT_INPUT
-gebeurtenis verzonden.
Opmerking: de tekstgebeurtenissen worden verzonden wanneer een gebruiker tekens invoert en niet als antwoord op toetsenbordinvoer, zoals een backspace-teken. (Gebruik een listener voor de KeyboardEvent
-gebeurtenis om alle toetsenbordgebeurtenissen op te vangen.)
De methode textInputHandler()
bestuurt en beheert de gebruikersinvoer. De methode preventDefault()
wordt gebruikt om te voorkomen dat Adobe Flash Player de tekst direct weergeeft in het invoertekstveld. De toepassing is verantwoordelijk voor het bijwerken van het veld. Om de verwijdering of wijziging ongedaan te maken van tekens die al zijn ingevoerd (de tekenreeks result
), wordt de inhoud van het invoertekstveld opnieuw toegewezen aan de tekenreeks result
wanneer een gebruiker nieuwe tekst invoert. Voor een consistente gebruikerservaring wordt met de methode setSelection()
tevens het invoegpunt (^) achter het laatst geselecteerde teken in het tekstveld geplaatst.
De eerste if-instructie in de methode textInputHandler()
controleert de invoer voor de tweede en vijfde tekenpositie van de combinatietoets, die beide een cijfer moeten zijn. Als de gebruikersinvoer juist is, wordt de methode updateCombination()
aangeroepen en wordt de combinatietoetstekenreeks (result
) toegevoegd aan de gebruikersinvoer. De methode updateCombination()
verplaatst tevens het invoegpunt naar een positie achter het geselecteerde teken. Nadat de zeven tekens zijn ingevoerd, verandert de laatste if-instructie in de methode textInputHandler()
het type van het tekstveld inputTextField
van INPUT
in DYNAMIC
. Dat betekent dat de gebruiker geen tekens meer mag invoeren of wijzigen.
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); } } }
- Er worden constanten voor twee URL's gedeclareerd die later worden gebruikt.
- Er worden twee variabelen gedeclareerd van het type TextField die later worden gebruikt.
- De klasseconstructor roept de volgende twee methoden aan:
init()
initialiseert de objecten TextField en voegt er gebeurtenislisteners aan toe.draw()
voegt de TextFields toe aan het weergaveoverzicht en wijst de tekst toe die moet worden weergegeven.
- De listeners
linkHandler()
entextInputHandler()
reageren op de gebeurtenissen op basis van hun type gebeurtenis. De methodelinkHandler()
opent een webbrowser wanneer er niet al een geopend is en navigeert naar de aangeklikte URL. De methodetextInputHandler()
geeft iedere keer dat een toets wordt ingedrukt in het gekoppelde tekstveld informatie weer.
Opmerking: het domein dat in dit voorbeeld wordt getoond, is fictief en [yourDomain]
moet worden vervangen door een echt domein.
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); } } }
Wed Jun 13 2018, 11:42 AM Z