Pacchettoflash.events
Classepublic class TextEvent
EreditarietàTextEvent Inheritance Event Inheritance Object
Sottoclassi DataEvent, ErrorEvent, IMEEvent

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Flash® Player invia oggetti TextEvent quando un utente immette una stringa di testo in un campo di testo o fa clic su un collegamento ipertestuale in un campo di testo HTML. Esistono due tipi di eventi di testo: TextEvent.LINK e TextEvent.TEXT_INPUT.

Vedere gli esempi

Vedere anche

flash.text.TextField


Proprietà pubbliche
 ProprietàDefinito da
 Inheritedbubbles: Boolean
[sola lettura] Indica se un evento è un evento di bubbling.
Event
 Inheritedcancelable: Boolean
[sola lettura] Indica se il comportamento associato all'evento può essere impedito.
Event
 Inheritedconstructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
 InheritedcurrentTarget: Object
[sola lettura] L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
Event
 InheritedeventPhase: uint
[sola lettura] La fase attuale del flusso di eventi.
Event
 Inheritedprototype: Object
[statico] Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
Object
 Inheritedtarget: 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
 Inheritedtype: String
[sola lettura] Il tipo di evento.
Event
Metodi pubblici
 MetodoDefinito da
  
TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
Crea un oggetto Event contenente informazioni relative agli eventi di testo.
TextEvent
  
Crea una copia dell'oggetto TextEvent e imposta il valore di ogni proprietà in modo che corrisponda a quello dell'originale.
TextEvent
 Inherited
formatToString(className:String, ... arguments):String
Una funzione di utilità per l'implementazione del metodo toString() nella classe Event personalizzata.
Event
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Verifica se sull'evento è stato chiamato il metodo preventDefault().
Event
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Annulla il comportamento predefinito di un evento se tale comportamento può essere annullato.
Event
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
 Inherited
Impedisce l'elaborazione di tutti i listener di eventi nel nodo corrente e in tutti i nodi successivi del flusso di eventi.
Event
 Inherited
Impedisce l'elaborazione di tutti i listener di eventi nei nodi del flusso di eventi successivi a quello corrente.
Event
  
Restituisce una stringa che contiene tutte le proprietà dell'oggetto TextEvent.
TextEvent
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
Costanti pubbliche
 CostanteDefinito da
 InheritedACTIVATE: String = "activate"
[statico] Definisce il valore della proprietà type di un oggetto evento activate.
Event
 InheritedADDED: String = "added"
[statico] Definisce il valore della proprietà type di un oggetto evento added.
Event
 InheritedADDED_TO_STAGE: String = "addedToStage"
[statico] Definisce il valore della proprietà type di un oggetto evento addedToStage.
Event
 InheritedCANCEL: String = "cancel"
[statico] Definisce il valore della proprietà type di un oggetto evento cancel.
Event
 InheritedCHANGE: String = "change"
[statico] Definisce il valore della proprietà type di un oggetto evento change.
Event
 InheritedCLOSE: String = "close"
[statico] Definisce il valore della proprietà type di un oggetto evento close.
Event
 InheritedCOMPLETE: String = "complete"
[statico] Definisce il valore della proprietà type di un oggetto evento complete.
Event
 InheritedCONNECT: String = "connect"
[statico] Definisce il valore della proprietà type di un oggetto evento connect.
Event
 InheritedDEACTIVATE: String = "deactivate"
[statico] Definisce il valore della proprietà type di un oggetto evento deactivate.
Event
 InheritedENTER_FRAME: String = "enterFrame"
[statico] Definisce il valore della proprietà type di un oggetto evento enterFrame.
Event
 InheritedFULLSCREEN: String = "fullScreen"
[statico] Definisce il valore della proprietà type di un oggetto evento fullScreen.
Event
 InheritedID3: String = "id3"
[statico] Definisce il valore della proprietà type di un oggetto evento id3.
Event
 InheritedINIT: String = "init"
[statico] Definisce il valore della proprietà type di un oggetto evento init.
Event
  LINK: String = "link"
[statico] Definisce il valore della proprietà type di un oggetto evento link.
TextEvent
 InheritedMOUSE_LEAVE: String = "mouseLeave"
[statico] Definisce il valore della proprietà type di un oggetto evento mouseLeave.
Event
 InheritedOPEN: String = "open"
[statico] Definisce il valore della proprietà type di un oggetto evento open.
Event
 InheritedREMOVED: String = "removed"
[statico] Definisce il valore della proprietà type di un oggetto evento removed.
Event
 InheritedREMOVED_FROM_STAGE: String = "removedFromStage"
[statico] Definisce il valore della proprietà type di un oggetto evento removedFromStage.
Event
 InheritedRENDER: String = "render"
[statico] Definisce il valore della proprietà type di un oggetto evento render.
Event
 InheritedRESIZE: String = "resize"
[statico] Definisce il valore della proprietà type di un oggetto evento resize.
Event
 InheritedSCROLL: String = "scroll"
[statico] Definisce il valore della proprietà type di un oggetto evento scroll.
Event
 InheritedSELECT: String = "select"
[statico] Definisce il valore della proprietà type di un oggetto evento select.
Event
 InheritedSOUND_COMPLETE: String = "soundComplete"
[statico] Definisce il valore della proprietà type di un oggetto evento soundComplete.
Event
 InheritedTAB_CHILDREN_CHANGE: String = "tabChildrenChange"
[statico] Definisce il valore della proprietà type di un oggetto evento tabChildrenChange.
Event
 InheritedTAB_ENABLED_CHANGE: String = "tabEnabledChange"
[statico] Definisce il valore della proprietà type di un oggetto evento tabEnabledChange.
Event
 InheritedTAB_INDEX_CHANGE: String = "tabIndexChange"
[statico] Definisce il valore della proprietà type di un oggetto evento tabIndexChange.
Event
  TEXT_INPUT: String = "textInput"
[statico] Definisce il valore della proprietà type di un oggetto evento textInput.
TextEvent
 InheritedUNLOAD: String = "unload"
[statico] Definisce il valore della proprietà type di un oggetto evento unload.
Event
Descrizione delle proprietà
textproprietà
text:String  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

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
Il codice seguente mostra che l'evento 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
 }
 
Descrizione della funzione di costruzione
TextEvent()Funzione di costruzione
public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Crea un oggetto Event contenente informazioni relative agli eventi di testo. Gli oggetti evento vengono passati ai listener di eventi come parametri.

Parametri
type: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.

Vedere anche

Descrizione dei metodi
clone()metodo
public override function clone():Event

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Crea una copia dell'oggetto TextEvent e imposta il valore di ogni proprietà in modo che corrisponda a quello dell'originale.

Restituisce
Event — Un nuovo oggetto TextEvent con proprietà dai valori identici a quelli dell'originale.
toString()metodo 
public override function toString():String

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Restituisce una stringa che contiene tutte le proprietà dell'oggetto TextEvent. La stringa ha il seguente formato:

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

Restituisce
String — Una stringa che contiene tutte le proprietà dell'oggetto TextEvent.
Descrizione delle costanti
LINKCostante
public static const LINK:String = "link"

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Definisce il valore della proprietà type di un oggetto evento link.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblestrue
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetIl 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. Utilizzare la proprietà currentTarget per accedere all'oggetto nell'elenco di visualizzazione, che sta elaborando l'evento.
textLa parte restante dell'URL, dopo "event:",

Vedere anche


Esempio

In questo esempio, se si fa clic sul collegamento ipertestuale nel testo HTML, viene generato un evento di testo. A seconda del collegamento, l'utente viene indirizzato a un sito web specificato per il sistema operativo in questione oppure viene disegnato un cerchio in base al raggio selezionato dall'utente.

Viene creato un campo di testo, il cui contenuto è impostato su una stringa formattata per HTML utilizzando la proprietà htmlText. I collegamenti vengono sottolineati per essere meglio identificati dall'utente. (Il visualizzatore di Flash Player modifica il puntatore del mouse solo quando il mouse si trova sopra il collegamento.) Per avere la certezza che il clic del mouse richiami un metodo ActionScript, l'URL del collegamento comincia con la stringa "event:" e viene aggiunto un listener per l'evento TextEvent.LINK.

Il metodo linkHandler(), attivato quando l'utente fa clic su un collegamento, gestisce tutti gli eventi del collegamento per il campo di testo. Il primo se l'istruzione verifica la proprietà di 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 correntemente 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_INPUTCostante 
public static const TEXT_INPUT:String = "textInput"

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Definisce il valore della proprietà type di un oggetto evento textInput.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblestrue
cancelabletrue; chiama il metodo preventDefault() per annullare il comportamento predefinito.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetIl 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. Utilizzare la proprietà currentTarget per accedere all'oggetto nell'elenco di visualizzazione, che sta elaborando l'evento.
textIl carattere o la sequenza di caratteri immessi dall'utente.

Vedere anche


Esempio

L'esempio seguente guida l'utente durante la generazione di una combinazione di tasti (simile a una password). Questa combinazione di tasti è composta da sette caratteri alfanumerici (il secondo e il quinto carattere sono numeri).

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 un input, viene inviato un evento TextEvent.TEXT_INPUT. Gli eventi di testo vengono inviati quando un utente inserisce caratteri testuali e non come risposta a qualsiasi input da tastiera, ad esempio la barra rovesciata. Per rilevare tutti gli eventi della tastiera, è necessario utilizzare un listener per l'evento KeyboardEvent.

Il metodo textInputHandler() controlla e gestisce l'input dell'utente. Innanzitutto, il metodo preventDefault() viene utilizzato per evitare che Flash Player visualizzi immediatamente il testo nel campo di testo dell'input. A questo punto, il programma provvede 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 nuovo testo. 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 deve essere un numero. 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'immissione dei sette caratteri, l'ultima istruzione if nel metodo textInputHandler() cambia il tipo del campo di testo inputTextField da INPUT a DYNAMIC, il che significa che l'utente non avrà più la possibilità di immettere dati o modificare il contenuto.

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);
        }
    }
}
Esempi Come utilizzare gli esempi
TextEventExample.as

Nell'esempio seguente viene utilizzata la classe TextEventExample per creare campi di testo e rimanere in ascolto dei diversi eventi di testo nei campi. L'esempio esegue le operazioni seguenti:
  1. Dichiara le costanti per due URL da utilizzare in seguito.
  2. Dichiara due variabili di tipo TextField da utilizzare in seguito.
  3. 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.
  4. I listener linkHandler() e textInputHandler() reagiscono agli eventi in base al tipo di evento. Il metodo linkHandler() apre un browser, se non è già aperto, e naviga fino all'URL su cui si è fatto clic. Il metodo textInputHandler() 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);
        }
    }
}




 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/events/TextEvent.html