Pacchetto | flash.events |
Classe | public class TextEvent |
Ereditarietà | TextEvent Event Object |
Sottoclassi | DataEvent, ErrorEvent, IMEEvent |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
TextEvent.LINK
e TextEvent.TEXT_INPUT
.
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
bubbles : Boolean [sola lettura]
Indica se un evento è un evento di bubbling. | Event | ||
cancelable : Boolean [sola lettura]
Indica se il comportamento associato all'evento può essere impedito. | Event | ||
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
currentTarget : Object [sola lettura]
L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. | Event | ||
eventPhase : uint [sola lettura]
La fase attuale del flusso di eventi. | Event | ||
target : Object [sola lettura]
Il target dell'evento. | Event | ||
text : String
Per un evento textInput, il carattere o la sequenza di caratteri immessi dall'utente. | TextEvent | ||
type : String [sola lettura]
Il tipo di evento. | Event |
Metodo | Definito da | ||
---|---|---|---|
Crea un oggetto Event contenente informazioni relative agli eventi di testo. | TextEvent | ||
[override]
Crea una copia dell'oggetto TextEvent e imposta il valore di ogni proprietà in modo che corrisponda a quello dell'originale. | TextEvent | ||
Una funzione dell'utilità per l'implementazione del metodo toString() in classi Event ActionScript 3.0 personalizzate. | Event | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Verifica se sull'evento è stato chiamato il metodo preventDefault(). | Event | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Annulla il comportamento predefinito di un evento se tale comportamento può essere annullato. | Event | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Impedisce l'elaborazione di tutti i listener di eventi nel nodo corrente e in tutti i nodi successivi del flusso di eventi. | Event | ||
Impedisce l'elaborazione di tutti i listener di eventi nei nodi del flusso di eventi successivi a quello corrente. | Event | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
[override]
Restituisce una stringa che contiene tutte le proprietà dell'oggetto TextEvent. | TextEvent | ||
Restituisce il valore di base dell'oggetto specificato. | Object |
Costante | Definito da | ||
---|---|---|---|
LINK : String = "link" [statico]
Definisce il valore della proprietà type di un oggetto evento link. | TextEvent | ||
TEXT_INPUT : String = "textInput" [statico]
Definisce il valore della proprietà type di un oggetto evento textInput. | TextEvent |
text | proprietà |
text:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Per un evento textInput
, il carattere o la sequenza di caratteri immessi dall'utente. Per un evento link
, il testo dell'attributo event
dell'attributo href
del tag <a>
.
Implementazione
public function get text():String
public function set text(value:String):void
Esempio ( Come utilizzare questo esempio )
link
viene inviato quando un utente fa clic sul collegamento ipertestuale:
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 | () | Funzione di costruzione |
public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crea un oggetto Event contenente informazioni relative agli eventi di testo. Gli oggetti evento vengono passati ai listener di eventi come parametri.
Parametritype:String — Il tipo di evento. I listener di eventi possono accedere a queste informazioni tramite la proprietà ereditata type . I valori possibili sono: TextEvent.LINK e TextEvent.TEXT_INPUT .
| |
bubbles:Boolean (default = false ) — Determina se l'oggetto Event partecipa alla fase di bubbling del flusso di eventi. I listener di eventi possono accedere a queste informazioni tramite la proprietà ereditata bubbles .
| |
cancelable:Boolean (default = false ) — Determina se l'oggetto Event può essere annullato. I listener di eventi possono accedere a queste informazioni tramite la proprietà ereditata cancelable .
| |
text:String (default = " ") — Uno o più caratteri di testo immessi dall'utente. I listener di eventi possono accedere a queste informazioni tramite la proprietà text .
|
Elementi API correlati
clone | () | metodo |
override public function clone():Event
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crea una copia dell'oggetto TextEvent e imposta il valore di ogni proprietà in modo che corrisponda a quello dell'originale.
RestituisceEvent — Un nuovo oggetto TextEvent con proprietà dai valori identici a quelli dell'originale.
|
toString | () | metodo |
override public function toString():String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Restituisce una stringa che contiene tutte le proprietà dell'oggetto TextEvent. La stringa ha il seguente formato:
[TextEvent type=valore bubbles=valore cancelable=valore text=valore]
String — Una stringa che contiene tutte le proprietà dell'oggetto TextEvent.
|
LINK | Costante |
public static const LINK:String = "link"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Definisce il valore della proprietà type
di un oggetto evento link
.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | true |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | Il campo di testo contenente il collegamento ipertestuale su cui si è fatto clic. Il target non è sempre l'oggetto nell'elenco di visualizzazione che ha registrato il listener di eventi. Utilizzate la proprietà currentTarget per accedere all'oggetto dell'elenco di visualizzazione che sta elaborando l'evento. |
text | La parte restante dell'URL, dopo "event:", |
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
Viene creato un campo di testo, il cui contenuto è impostato su una stringa formattata per HTML utilizzando la proprietà htmlText
. I collegamenti sono sottolineati per un'identificazione immediata da parte dell'utente. Adobe Flash Player modifica il puntatore del mouse solo quando si trova sopra il collegamento. Per avere la certezza che il clic dell'utente richiami un metodo ActionScript, l'URL del collegamento comincia con la stringa "event:"
e un listener viene aggiunto per l'evento TextEvent.LINK
.
Il metodo linkHandler()
, attivato dopo che l'utente ha fatto clic su un collegamento, gestisce tutti gli eventi del collegamento per il campo di testo. La prima istruzione if verifica la proprietà text
dell'evento, che contiene il resto dell'URL dopo la stringa "event:"
. Se l'utente ha fatto clic sul collegamento per il sistema operativo, il nome del sistema operativo attualmente utilizzato dall'utente, ricavato dalla proprietà Capabilities.os
del sistema, viene utilizzato per indirizzare l'utente al sito web specificato. In alternativa, la dimensione del raggio selezionata, trasferita attraverso la proprietà text
dell'evento, viene utilizzata per disegnare un cerchio sotto il campo di testo. Ogni volta che l'utente fa clic sul collegamento del raggio, il cerchio precedente viene cancellato e viene disegnato un nuovo cerchio rosso con la dimensione del raggio selezionata.
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 | Costante |
public static const TEXT_INPUT:String = "textInput"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Definisce il valore della proprietà type
di un oggetto evento textInput
.
Nota: questo evento non viene inviato per il tasto Canc o Backspace.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | true |
cancelable | true ; chiama il metodo preventDefault() per annullare il comportamento predefinito. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | Il campo di testo in cui vengono immessi i caratteri. Il target non è sempre l'oggetto contenuto nell'elenco di visualizzazione, che ha registrato il listener di eventi. Utilizzate la proprietà currentTarget per accedere all'oggetto dell'elenco di visualizzazione che sta elaborando l'evento. |
text | Il carattere o la sequenza di caratteri immessi dall'utente. |
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
Vengono creati tre campi di testo per le istruzioni preliminari, l'input dell'utente e i messaggi di avviso (errore). Viene aggiunto un listener di eventi per rispondere all'input dell'utente attivando il metodo textInputHandler()
. Ogni volta che l'utente immette del testo, viene inviato un evento TextEvent.TEXT_INPUT
.
Nota: gli eventi di testo vengono inviati quando un utente inserisce caratteri e non come risposta a qualsiasi input da tastiera, ad esempio l'inserimento di uno spazio. Per rilevare tutti gli eventi della tastiera, utilizzate un listener per l'evento KeyboardEvent
.
Il metodo textInputHandler()
controlla e gestisce l'input dell'utente. Il metodo preventDefault()
viene utilizzato per evitare che Adobe Flash Player visualizzi immediatamente il testo nel campo di testo dell'input. L'applicazione deve provvedere ad aggiornare il campo. Per annullare l'eliminazione o la modifica dell'utente ai caratteri già immessi (la stringa result
), il contenuto del campo di testo dell'input viene riassegnato alla stringa result
quando un utente immette nuovi caratteri. Inoltre, per garantire l'uniformità delle operazioni, il metodo setSelection()
posiziona il punto di inserimento (accento circonflesso) dopo l'ultimo carattere selezionato nel campo di testo.
La prima istruzione if nel metodo textInputHandler()
verifica l'input per le posizioni del secondo e del quinto carattere della combinazione di tasti, che devono essere numeri. Se l'input dell'utente è corretto, il metodo updateCombination()
viene chiamato e la stringa della combinazione di tasti (result
) viene aggiunta con l'input dell'utente. Il metodo updateCombination()
sposta inoltre il punto di inserimento dopo il carattere selezionato. Dopo l'inserimento dei sette caratteri, l'ultima istruzione if del metodo textInputHandler()
modifica il tipo di campo di testo inputTextField
da INPUT
a DYNAMIC
, in modo da impedire all'utente di inserire altri caratteri o di modificarli.
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); } } }
- Dichiara le costanti per due URL da utilizzare in seguito.
- Dichiara due variabili di tipo TextField da utilizzare in seguito.
- La funzione di costruzione della classe chiama i due metodi seguenti:
init()
inizializza gli oggetti TextField e vi aggiunge i listener di eventi.draw()
aggiunge gli oggetti TextField all'elenco di visualizzazione e assegna il testo da visualizzare.
- I listener
linkHandler()
etextInputHandler()
reagiscono agli eventi in base al tipo di evento. Il metodolinkHandler()
apre un browser, se non è già aperto, e naviga fino all'URL su cui si è fatto clic. Il metodotextInputHandler()
visualizza semplicemente le informazioni ogni volta che viene premuto un tasto nel campo di testo associato.
Nota: il dominio riportato in questo esempio è fittizio e [yourDomain]
dovrà essere sostituito con un dominio reale.
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, 02:44 PM Z