Paquete | flash.events |
Clase | public class TextEvent |
Herencia | TextEvent Event Object |
Subclases | DataEvent, ErrorEvent, IMEEvent |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
TextEvent.LINK
y TextEvent.TEXT_INPUT
.
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
bubbles : Boolean [solo lectura]
Indica si un evento es un evento de propagación. | Event | ||
cancelable : Boolean [solo lectura]
Indica si se puede evitar el comportamiento asociado al evento. | Event | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
currentTarget : Object [solo lectura]
Objeto que procesa de forma activa el objeto de evento con un detector de eventos. | Event | ||
eventPhase : uint [solo lectura]
La fase actual en el flujo del evento. | Event | ||
target : Object [solo lectura]
El destino del evento. | Event | ||
text : String
Para un evento textInput, el carácter o la secuencia de caracteres introducidos por el usuario. | TextEvent | ||
type : String [solo lectura]
El tipo de evento. | Event |
Método | Definido por | ||
---|---|---|---|
Crea un objeto de evento que contiene información sobre eventos de texto. | TextEvent | ||
[override]
Crea una copia del objeto TextEvent y define el valor de cada propiedad para que coincida con el del objeto original. | TextEvent | ||
Una función de utilidad para implementar el método toString() en las clases Event personalizadas de ActionScript 3.0. | Event | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Comprueba si se ha llamado a preventDefault() en el evento. | Event | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Cancela el comportamiento predeterminado de un evento si es posible cancelarlo. | Event | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Impide el proceso de cualquier detector de eventos en el nodo actual y los nodos siguientes en el flujo del evento. | Event | ||
Impide el proceso de cualquier detector de eventos en nodos siguientes al nodo actual. | Event | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
[override]
Devuelve una cadena con todas las propiedades del objeto TextEvent. | TextEvent | ||
Devuelve el valor simple del objeto especificado. | Object |
Constante | Definido por | ||
---|---|---|---|
LINK : String = "link" [estática]
Define el valor de la propiedad type para un objeto de evento link. | TextEvent | ||
TEXT_INPUT : String = "textInput" [estática]
Define el valor de la propiedad type para un objeto de evento textInput. | TextEvent |
text | propiedad |
text:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Para un evento textInput
, el carácter o la secuencia de caracteres introducidos por el usuario. En el caso de eventos link
, el texto del atributo event
del atributo href
de la etiqueta <a>
.
Implementación
public function get text():String
public function set text(value:String):void
Ejemplo ( Cómo utilizar este ejemplo )
link
cuando el usuario hace clic en el vínculo de hipertexto:
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 | () | Información sobre |
public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crea un objeto de evento que contiene información sobre eventos de texto. Los objetos de evento se transfieren como parámetros a los detectores de eventos.
Parámetrostype:String — El tipo de evento. Los detectores de eventos pueden acceder a esta información a través de la propiedad type heredada. Los valores posibles son: TextEvent.LINK y TextEvent.TEXT_INPUT .
| |
bubbles:Boolean (default = false ) — Determina si el objeto de evento participa en la fase de propagación del flujo del evento. Los detectores de eventos pueden acceder a esta información a través de la propiedad bubbles heredada.
| |
cancelable:Boolean (default = false ) — Determina si se puede cancelar el objeto Event. Los detectores de eventos pueden acceder a esta información a través de la propiedad cancelable heredada.
| |
text:String (default = " ") — Uno o varios caracteres de texto introducido por el usuario. Los detectores de eventos pueden acceder a esta información a través de la propiedad text .
|
Elementos de API relacionados
clone | () | método |
override public function clone():Event
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crea una copia del objeto TextEvent y define el valor de cada propiedad para que coincida con el del objeto original.
Valor devueltoEvent — Un nuevo objeto TextEvent con valores de propiedades que coinciden con los del objeto original.
|
toString | () | método |
override public function toString():String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve una cadena con todas las propiedades del objeto TextEvent. La cadena tiene el siguiente formato:
[TextEvent type=value bubbles=value cancelable=value text=value]
String — Una cadena que contiene todas las propiedades del objeto TextEvent.
|
LINK | Constante |
public static const LINK:String = "link"
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Define el valor de la propiedad type
de un objeto de evento link
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | true |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El campo de texto que contiene el hipervínculo en el que se ha hecho clic. El objeto target no siempre es el objeto de la lista de visualización que registró el detector de eventos. Utilice la propiedad currentTarget para acceder al objeto de la lista de visualización que está procesando el evento actualmente. |
text | El resto de la URL después de "event:" |
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
Se crea un campo de texto y su contenido se establece en una cadena con formato HTML que utiliza la propiedad htmlText
. Los vínculos se muestran subrayados para que el usuario pueda distinguirlos bien. (Adobe Flash Player cambia el puntero del ratón cuando se sitúa sobre el vínculo.) Para asegurarse de que el clic del ratón del usuario invocará un método de ActionScript, la URL del vínculo empieza por la cadena "event:"
y se añade un detector para el evento TextEvent.LINK
.
El método linkHandler()
, que se activa una vez que el usuario hace clic en un vínculo, gestiona todos los eventos de vínculo para el campo de texto. La primera instancia if comprueba la propiedad text
del evento, que incluye la parte restante de la URL después de la cadena "event:"
. Si el usuario ha hecho clic en el vínculo del sistema operativo, se utiliza el nombre del sistema operativo actual del usuario, tomado de la propiedad Capabilities.os
, para dirigir al usuario al sitio web designado. De lo contrario, se utiliza el tamaño de radio seleccionado, transferido a través de la propiedad text
del evento, para dibujar un círculo debajo del campo de texto. Cada vez que el usuario hace clic en el vínculo de radio, el círculo anterior se borra y se dibuja un nuevo círculo rojo con el tamaño de radio seleccionado.
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"
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Define el valor de la propiedad type
de un objeto de evento textInput
.
Nota: este evento no se distribuye para las teclas Supr o Retroceso.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | true |
cancelable | true ; llama al método preventDefault() para cancelar el comportamiento predeterminado. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Campo de texto en el que se introducen los caracteres. El destino no siempre es el objeto de la lista de visualización que registró el detector de eventos. Utilice la propiedad currentTarget para acceder al objeto de la lista de visualización que está procesando el evento actualmente. |
text | Carácter o secuencia de caracteres introducidos por el usuario. |
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
Se crean tres campos de texto para las instrucciones preliminares, la entrada de usuario y los mensajes de aviso (error). Se añade un detector de eventos para responder a la entrada de texto del usuario activando el método textInputHandler()
. (Cada vez que el usuario introduce texto, se distribuye un evento TextEvent.TEXT_INPUT
.
Nota: tenga en cuenta que los eventos de texto se distribuyen cuando el usuario introduce caracteres y no es ninguna respuesta a la pulsación de teclas, como la de Retroceso. Para detectar todos los eventos de teclado, utilice un detector para el evento KeyboardEvent
.)
El método textInputHandler()
controla y gestiona la entrada del usuario. Se utiliza el método preventDefault()
para evitar que Adobe Flash Player muestre inmediatamente texto en el campo de texto de entrada. La aplicación es responsable de actualizar el campo. Para deshacer la eliminación o modificación del usuario de los caracteres ya introducidos (la cadena result
), el contenido del campo de texto de entrada se reasigna a la cadena result
cuando el usuario introduce nuevo texto. Asimismo para ofrecer al usuario una experiencia coherente, el método setSelection()
coloca el punto de inserción (intercalación) después del último carácter seleccionado en el campo de texto.
La primera sentencia if del método textInputHandler()
, consulta la entrada para las posiciones segunda y cuarta de los caracteres de la clave de combinación, que debe ser un número. Si la entrada del usuario es correcta, se llama al método updateCombination()
y la cadena (result
) de la clave de combinación se añade a la entrada del usuario. El método updateCombination()
también mueve la posición del punto de inserción a después del carácter seleccionado. Una vez introducidos los siete caracteres, la última declaración if del método textInputHandler()
cambia el tipo del campo de texto inputTextField
de INPUT
a DYNAMIC
; esto quiere decir que ya no es posible escribir ni modificar caracteres.
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); } } }
- El ejemplo declara constantes para dos URL que se utilizarán más adelante.
- El ejemplo declara dos variables de tipo TextField que se utilizarán más adelante.
- El constructor de la clase llama a los dos métodos siguientes:
init()
inicializa los objetos TextField y les añade detectores de eventos.draw()
añade objetos TextField a la lista de visualización y asigna el texto que se va a mostrar.
- Los detectores
linkHandler()
ytextInputHandler()
reaccionan ante los eventos según su tipo de evento. El métodolinkHandler()
abre un navegador web si no hay ninguno abierto todavía y abre la URL seleccionada. El métodotextInputHandler()
simplemente muestra información cada vez que se pulsa una tecla en el campo de texto asociado.
Nota: el dominio mostrado en este ejemplo es ficticio: [yourDomain]
se debe sustituir por un dominio real.
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:12 PM Z