Pacote | flash.events |
Classe | public class TextEvent |
Herança | TextEvent Event Object |
Subclasses | DataEvent, ErrorEvent, IMEEvent |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
TextEvent.LINK
e TextEvent.TEXT_INPUT
.
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
bubbles : Boolean [somente leitura]
Indica se um evento é do tipo bubbling. | Event | ||
cancelable : Boolean [somente leitura]
Indica se o comportamento associado ao evento pode ser impedido. | Event | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
currentTarget : Object [somente leitura]
O objeto que está processando ativamente o objeto Event com um ouvinte de evento. | Event | ||
eventPhase : uint [somente leitura]
A fase atual no fluxo de eventos. | Event | ||
target : Object [somente leitura]
O destino de evento. | Event | ||
text : String
Para um evento textInput, o caractere ou string inserida pelo usuário. | TextEvent | ||
type : String [somente leitura]
O tipo de evento. | Event |
Método | Definido por | ||
---|---|---|---|
Cria um objeto Event que contém informações sobre eventos de texto. | TextEvent | ||
[substituir]
Cria uma cópia do objeto TextEvent e define o valor de cada propriedade para corresponder ao do original. | TextEvent | ||
Uma função de utilitário para implementar o método toString() em classes ActionScript 3.0 Event personalizadas. | Event | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Verifica se o método preventDefault() foi chamado no evento. | Event | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Cancela um comportamento padrão de evento se esse comportamento puder ser cancelado. | Event | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Impede o processamento de qualquer ouvinte de evento no nó atual e qualquer nó subsequente no fluxo de eventos. | Event | ||
Impede o processamento de algum ouvinte de evento em nós subsequentes ao nó atual no fluxo de eventos. | Event | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
[substituir]
Retorna uma string que contém todas as propriedades do objeto TextEvent. | TextEvent | ||
Retorna o valor primitivo do objeto especificado. | Object |
Constante | Definido por | ||
---|---|---|---|
LINK : String = "link" [estático]
Define o valor da propriedade de tipo de um objeto de evento de link. | TextEvent | ||
TEXT_INPUT : String = "textInput" [estático]
Define o valor da propriedade de tipo de um objeto de evento textInput. | TextEvent |
text | propriedade |
text:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Para um evento textInput
, o caractere ou a string digitada pelo usuário. Para um evento link
, o texto do atributo event
do atributo href
da marca <a>
.
Implementação
public function get text():String
public function set text(value:String):void
Exemplo ( Como usar este exemplo )
link
é despachado quando o usuário clica no 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 | () | Construtor |
public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Cria um objeto Event que contém informações sobre eventos de texto. Objetos Event são transmitidos como parâmetros para ouvintes de eventos.
Parâmetrostype:String — O tipo de evento. Ouvintes de eventos podem acessar essas informações por meio da propriedade type herdada. São estes os valores possíveis: TextEvent.LINK e TextEvent.TEXT_INPUT .
| |
bubbles:Boolean (default = false ) — Determina se o objeto Evento participa da fase bubbling do fluxo de eventos. Ouvintes de eventos podem acessar essas informações por meio da propriedade bubbles herdada.
| |
cancelable:Boolean (default = false ) — Determina se o objeto Event pode ser cancelado. Ouvintes de eventos podem acessar essas informações por meio da propriedade cancelable herdada.
| |
text:String (default = " ") — Um ou mais caracteres de texto inseridos pelo usuário. Ouvintes de eventos podem acessar essas informações por meio da propriedade text .
|
Elementos da API relacionados
clone | () | método |
override public function clone():Event
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Cria uma cópia do objeto TextEvent e define o valor de cada propriedade para corresponder ao do original.
RetornaEvent — Um novo objeto TextEvent com valores de propriedade que correspondem aos do original.
|
toString | () | método |
override public function toString():String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retorna uma string que contém todas as propriedades do objeto TextEvent. A string está no seguinte formato:
[TextEvent type=value bubbles=value cancelable=value text=value]
String — Uma string que contém todas as propriedades do objeto TextEvent.
|
LINK | Constante |
public static const LINK:String = "link"
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Define o valor da propriedade type
de um objeto de evento link
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | true |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O campo de texto que contém o hiperlink que foi clicado. target não é sempre o objeto na lista de exibição que registrou o ouvinte de evento. Use a propriedade currentTarget para acessar o objeto na lista de exibição que está processando o evento no momento. |
text | O restante do URL depois de "event:" |
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
Um campo de texto é criado e o conteúdo respectivo é definido como uma string formatada em HTML, usando a propriedade htmlText
. Os links são sublinhados para facilitar a identificação pelo usuário. (O Adobe Flash Player muda o ponteiro do mouse apenas após esse ponteiro estar sobre o link.) Para se certificar de que o clique do usuário chama um método ActionScript, o URL do link começa com "event:"
string e um ouvinte é adicionado para o evento TextEvent.LINK
.
O método linkHandler()
, disparado após o usuário clicar em um link, gerencia todos os eventos de link do campo de texto. A primeira instrução if verifica a propriedade text
do evento, que contém o restante do URL após "event:"
string. Se o usuário clicou no link do sistema operacional, o nome do sistema operacional do usuário atual, obtido da propriedade Capabilities.os
do sistema, será usado para direcionar o usuário para o site designado. Do contrário, o tamanho do raio selecionado, transmitido pela propriedade text
do evento, será usado para desenhar um círculo abaixo do campo de texto. Cada vez que o usuário clica no link do raio, o circulo anterior é removido e um novo círculo vermelho com o tamanho do raio selecionado é desenhado.
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"
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Define o valor da propriedade type
de um objeto de evento textInput
.
Observação: Este evento não é despachado para as teclas Excluir ou Backspace.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | true |
cancelable | true ; chama o método preventDefault() para cancelar o comportamento padrão. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O campo de texto no qual os caracteres estão sendo inseridos. target não é sempre o objeto na lista de exibição que registrou o ouvinte de evento. Use a propriedade currentTarget para acessar o objeto na lista de exibição que está processando o evento no momento. |
text | O caractere ou a string de caracteres inserida pelo usuário. |
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
Três campos de texto para as instruções preliminares, a entrada do usuário e as mensagem de aviso (erro) são criadas. Um ouvinte de evento é adicionado, para responder à entrada de texto do usuário disparando o método textInputHandler()
. (Toda vez que o usuário digita um texto, um evento TextEvent.TEXT_INPUT
é despachado.
Observação: Os eventos de texto são despachados quando o usuário insere caracteres e não como uma resposta a alguma entrada de teclado, como backspace. Para capturar todos os eventos do teclado, use um ouvinte para o evento KeyboardEvent
.)
O método textInputHandler()
controla e gerencia a entrada do usuário. O método preventDefault()
é usado para impedir que o Adobe Flash Player exiba imediatamente o texto no campo de texto de entrada. O aplicativo é responsável por atualizar o campo. Para desfazer a exclusão do usuário ou a modificação dos caracteres já inseridos (a string result
), o conteúdo do campo de texto de entrada é atribuído novamente à string result
quando o usuário insere algum texto novo. Além disso, para produzir uma experiência consistente para o usuário, o método setSelection()
coloca o ponto de inserção (circunflexo) depois do último caractere selecionado no campo de texto.
A primeira instrução if no método textInputHandler()
verifica a entrada das segunda e quinta posições de caracteres da chave de combinação, que deve ser um número. Se a entrada do usuário estiver correta, o método updateCombination()
será chamado e a string (result
) da chave de combinação será anexada à entrada do usuário. O método updateCombination()
também movimenta o ponto de inserção para depois do caractere selecionado. Após inserir os sete caracteres, a última instrução if no método textInputHandler()
muda o tipo do campo de texto inputTextField
de INPUT
para DYNAMIC
, o que significa que o usuário não pode mais inserir nem alterar qualquer caractere.
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); } } }
- O exemplo declara constantes para dois URLs a serem usados posteriormente.
- O exemplo declara duas variáveis de tipo TextField para serem usadas posteriormente.
- O construtor da classe chama os dois seguintes métodos:
init()
inicializa o objeto TextField e adiciona a eles ouvintes de eventos.draw()
adiciona os TextFields à lista de exibição e atribui o texto a ser exibido.
- Os ouvintes
linkHandler()
etextInputHandler()
reagem aos eventos de acordo com o tipo de evento respectivo. O métodolinkHandler()
abre um navegador da Web se não houver um já aberto e navega até o URL clicado. O métodotextInputHandler()
simplesmente exibe informações toda vez que uma tecla for pressionada no campo de texto associado.
Observação: O domínio mostrado neste exemplo é fictício e [yourDomain]
deve ser substituído por um domínio 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); } } }
Wed Jun 13 2018, 11:10 AM Z