Paket | flash.events |
Klass | public class TextEvent |
Arv | TextEvent Event Object |
Underklasser | DataEvent, ErrorEvent, IMEEvent |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
TextEvent.LINK
och TextEvent.TEXT_INPUT
.
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
bubbles : Boolean [skrivskyddad]
indikerar om händelsen är en bubblande händelse. | Event | ||
cancelable : Boolean [skrivskyddad]
Indikerar om beteendet som är kopplat till händelsen kan förhindras. | Event | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
currentTarget : Object [skrivskyddad]
Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. | Event | ||
eventPhase : uint [skrivskyddad]
Den nuvarande fasen i händelseflödet. | Event | ||
target : Object [skrivskyddad]
Händelsens mål. | Event | ||
text : String
Det tecken eller den teckensekvens som användaren anger för en textInput-händelse. | TextEvent | ||
type : String [skrivskyddad]
Händelsens typ. | Event |
Metod | Definieras med | ||
---|---|---|---|
Skapar ett nytt Event-objekt som innehåller information om texthändelser. | TextEvent | ||
[åsidosätt]
Skapar en kopia av TextEvent-objektet och ställer in värdet för alla egenskaper så att de matchar originalets egenskaper. | TextEvent | ||
Ett verktyg som används för att implementera metoden toString() i de anpassade klasserna ActionScript 3.0. | Event | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Kontrollerar om preventDefault()-metoden har anropats för händelsen. | Event | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Avbryter en händelses standardbeteende om det beteendet kan avbrytas. | Event | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Förhindrar behandling av händelsehanterare i den aktuella noden och alla noder som följer den aktuella noden i händelseflödet. | Event | ||
Förhindrar behandling av händelsehanterare i noder som följer den aktuella noden i händelseflödet. | Event | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
[åsidosätt]
Returnerar en sträng som innehåller alla egenskaper i TextEvent-objektet. | TextEvent | ||
Returnerar det angivna objektets primitiva värde. | Object |
Konstant | Definieras med | ||
---|---|---|---|
LINK : String = "link" [statisk]
Definierar värdet för ett link-händelseobjekts type-egenskap. | TextEvent | ||
TEXT_INPUT : String = "textInput" [statisk]
Definierar värdet för ett textInput-händelseobjekts type-egenskap. | TextEvent |
text | egenskap |
text:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Det tecken eller den teckensekvens som användaren anger för en textInput
-händelse. Texten för event
-attributet av href
-attributet av <a>
-taggen för en link
-händelse.
Implementering
public function get text():String
public function set text(value:String):void
Exempel ( Så här använder du exemplet )
link
-händelsen skickas när en användare klickar på hypertextlänken:
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 = "")
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skapar ett nytt Event-objekt som innehåller information om texthändelser. Event-objekt skickas som parametrar till händelseavlyssnare.
Parametrartype:String — Händelsens typ. Händelseavlyssnare kan hämta informationen genom den ärvda egenskapen type . Möjliga värden är: TextEvent.LINK och TextEvent.TEXT_INPUT .
| |
bubbles:Boolean (default = false ) — Bestämmer om Event-objektet deltar i bubblingsfasen av händelseflödet. Händelseavlyssnare kan hämta informationen genom den ärvda egenskapen bubbles .
| |
cancelable:Boolean (default = false ) — Avgör om Event-objektet kan avbrytas. Händelseavlyssnare kan hämta informationen genom den ärvda egenskapen cancelable .
| |
text:String (default = " ") — Ett eller flera tecken som användaren har angivit. Händelseavlyssnare kan hämta informationen genom den ärvda egenskapen text .
|
Relaterade API-element
clone | () | metod |
override public function clone():Event
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skapar en kopia av TextEvent-objektet och ställer in värdet för alla egenskaper så att de matchar originalets egenskaper.
ReturnerarEvent — Ett nytt TextEvent-objekt med egenskapsvärden som matchar originalet.
|
toString | () | metod |
override public function toString():String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar en sträng som innehåller alla egenskaper i TextEvent-objektet. Strängen är i följande format:
[TextEvent type=värde bubbles=värde cancelable=värde text=värde]
String — En sträng som innehåller alla TextEvent-objektets egenskaper.
|
LINK | Konstant |
public static const LINK:String = "link"
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Definierar värdet för ett link
-händelseobjekts type
-egenskap.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | true |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | Textfältet som innehåller den hyperlänk användaren har klickat på. target är inte alltid det objekt i visningslistan som har registrerat händelseavlyssnaren. Använd egenskapen currentTarget om du vill komma åt det objekt i visningslistan som bearbetar händelsen. |
text | Det som återstår av URL:en efter "event:" |
Relaterade API-element
Exempel ( Så här använder du exemplet )
Ett textfält skapas och dess innehåll ställs in på en HTML-formaterad sträng med egenskapen htmlText
. Länkarna är understrukna för att användaren lättare ska se dem. (I Adobe Flash Player ändras muspekaren endast efter att pekaren befinner sig på länken.) För att säkerställa att användarens klickning anropar en ActionScript-metod börjar URL:en med "event:"
strängen och en lyssnare läggs till TextEvent.LINK
-händelsen.
Metoden linkHandler()
som läggs till när användaren klickar på en länk, hanterar alla länkhändelser i textfältet. Den första if-satsen kontrollerar händelsens text
-egenskap eftersom den innehåller resten av URL:en efter "event:"
strängen. Om användaren har klickat på länken för operativsystemet används namnet på användarens nuvarande operativsystem, som hämtas från datorns Capabilities.os
-egenskap, för att skicka användaren till den angivna webbplatsen. Annars används den valda radien, som anges av händelsens text
-egenskap, för att rita en cirkel nedanför textfältet. Varje gång användaren klickar på radielänken tas den föregående cirkeln bort och en ny röd cirkel med den valda radien visas.
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 | Konstant |
public static const TEXT_INPUT:String = "textInput"
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Definierar värdet för ett textInput
-händelseobjekts type
-egenskap.
Obs! Den här händelsen skickas inte för Delete- och backstegstangenterna.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | true |
cancelable | true ; anropa preventDefault() -metoden för att avbryta standardbeteendet. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | Det textfält som tecken anges i. Målet är inte alltid det objekt i visningslistan som har registrerat händelseavlyssnaren. Använd egenskapen currentTarget om du vill komma åt det objekt i visningslistan som bearbetar händelsen. |
text | Det tecken eller den följd av tecken som användaren har angivit. |
Relaterade API-element
Exempel ( Så här använder du exemplet )
Tre textfält skapas för de preliminära instruktionerna, användarens indata och varningsmeddelandena (felmeddelandena). En händelseavlyssnare läggs till för att reagera på användarens textinmatning genom att aktivera metoden textInputHandler()
. (En TextEvent.TEXT_INPUT
-händelse skickas varje gång användaren skriver text.
Obs! Texthändelserna skickas när en användare skriver och inte som reaktion på annan indata från tangentbordet, till exempel blanksteg. Om du vill fånga alla tangentbordshändelser ska du använda en lyssnare för KeyboardEvent
-händelsen.)
Metoden textInputHandler()
styr och hanterar användarens indata. Metoden preventDefault()
används för att förhindra att Adobe Flash Player visar texten i textinmatningsfältet direkt. Programmet uppdaterar fältet. För att ångra användarens borttagning eller ändring av redan inmatade tecken (result
-strängen), tilldelas innehållet i textinmatningsfältet om till result
-strängen när användaren skriver ny text. För att användarupplevelsen ska bli konsekvent placerar metoden setSelection()
inmatningspunkten efter det sista markerade tecknet i textfältet.
Den första if-satsen i metoden textInputHandler()
kontrollerar indata för den andra och femte teckenpositionen i kombinationsnyckeln. Dessa måste vara siffror. Om användarens indata är korrekta anropas metoden updateCombination()
och kombinationsnyckelsträngen (result
) utökas med användarens indata. Metoden updateCombination()
flyttar också inmatningspunkten till efter det markerade tecknet. När de sju tecknen har angivits, ändrar den sista om-satsen i textInputHandler()
-metoden typ på inputTextField
-textfältet från INPUT
till DYNAMIC
, vilket innebär att användaren inte kan ange eller ändra tecken.
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); } } }
- Exemplet deklarerar konstanter för två URL:er som ska användas senare.
- Exemplet deklarerar två variabler av typen TextField som ska användas senare.
- Klasskonstruktor anropar följande två metoder:
init()
initierar TextField-objekt och lägger till händelseavlyssnare till dem.draw()
lägger till TextFields till visningslistan och tilldelar den text som ska visas.
- Avlyssnarna
linkHandler()
ochtextInputHandler()
reagerar på händelserna enligt deras händelsetyp. MetodenlinkHandler()
öppnar en webbläsare om ingen redan har öppnats, och navigerar till den URL-adress användaren har klickat på. MetodentextInputHandler()
visar information varje gång en tangent trycks ned i det kopplade textfältet.
Obs: Domänen som visas i det här exemplet är påhittad och [yourDomain]
ska ersättas med en riktig domän.
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, 01:40 PM Z