Package | flash.events |
Classe | public class TextEvent |
Héritage | TextEvent Event Object |
Sous-classes | DataEvent, ErrorEvent, IMEEvent |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
TextEvent.LINK
et TextEvent.TEXT_INPUT
.
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
bubbles : Boolean [lecture seule]
Indique si un événement peut se propager vers le haut (bubbling). | Event | ||
cancelable : Boolean [lecture seule]
Indique si le comportement associé à l’événement peut être évité. | Event | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
currentTarget : Object [lecture seule]
L’objet qui traite activement l’objet Event avec un écouteur d’événements. | Event | ||
eventPhase : uint [lecture seule]
Phase actuelle du flux d’événements. | Event | ||
target : Object [lecture seule]
Cible de l’événement. | Event | ||
text : String
Dans le cas d’un événement textInput, caractère ou suite de caractères entré par l’utilisateur. | TextEvent | ||
type : String [lecture seule]
Type d’événement. | Event |
Méthode | Défini par | ||
---|---|---|---|
Crée un objet Event contenant des informations sur les événements texte. | TextEvent | ||
[override]
Crée une copie de l’objet TextEvent et définit la valeur de chaque propriété de sorte qu’elle corresponde à la valeur d’origine. | TextEvent | ||
Fonction d’un utilitaire permettant d’implémenter la méthode toString() dans des classes Event ActionScript 3.0 personnalisées. | Event | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Vérifie si la méthode preventDefault() a été appelée pour l’événement. | Event | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Annule le comportement par défaut d’un événement si cette opération est possible. | Event | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Bloque le traitement des écouteurs d’événement dans le nœud actuel et les suivants dans le flux d’événements. | Event | ||
Bloque le traitement des écouteurs d’événement dans les nœuds qui suivent le nœud actuel dans le flux d’événements. | Event | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
[override]
Renvoie une chaîne répertoriant toutes les propriétés de l’objet TextEvent. | TextEvent | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
Constante | Défini par | ||
---|---|---|---|
LINK : String = "link" [statique]
Définit la valeur de la propriété type d’un objet événement link. | TextEvent | ||
TEXT_INPUT : String = "textInput" [statique]
Définit la valeur de la propriété type d’un objet événement textInput. | TextEvent |
text | propriété |
text:String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dans le cas d’un événement textInput
, caractère ou suite de caractères entré par l’utilisateur. Dans le cas d’un événement link
, texte de l’attribut event
de l’attribut href
de la balise <a>
.
Implémentation
public function get text():String
public function set text(value:String):void
Exemple ( Comment utiliser cet exemple )
link
est distribué lorsque l’utilisateur clique sur un lien hypertexte :
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 | () | Constructeur |
public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crée un objet Event contenant des informations sur les événements texte. Les objets Event sont transmis en tant que paramètres aux écouteurs d’événements.
Paramètrestype:String — Type de l’événement. Les écouteurs d’événement peuvent accéder à cette information par le biais de la propriété type héritée. Les valeurs possibles sont les suivantes : TextEvent.LINK et TextEvent.TEXT_INPUT .
| |
bubbles:Boolean (default = false ) — Détermine si l’objet Event prend part à la phase de propagation du flux d’événements. Les écouteurs d’événement peuvent accéder à cette information par le biais de la propriété bubbles héritée.
| |
cancelable:Boolean (default = false ) — Détermine si l’objet Event peut être annulé. Les écouteurs d’événement peuvent accéder à cette information par le biais de la propriété cancelable héritée.
| |
text:String (default = " ") — Caractères de texte entrés par l’utilisateur. Les écouteurs d’événement peuvent accéder à cette information par le biais de la propriété text .
|
Eléments de l’API associés
clone | () | méthode |
override public function clone():Event
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crée une copie de l’objet TextEvent et définit la valeur de chaque propriété de sorte qu’elle corresponde à la valeur d’origine.
Valeur renvoyéeEvent — Nouvel objet TextEvent dont les propriétés ont la même valeur que celles de l’objet d’origine.
|
toString | () | méthode |
override public function toString():String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Renvoie une chaîne répertoriant toutes les propriétés de l’objet TextEvent. La chaîne est écrite au format suivant :
[TextEvent type=valeur bubbles=valeur cancelable=valeur text=valeur]
String — Chaîne répertoriant toutes les propriétés de l’objet TextEvent.
|
LINK | Constante |
public static const LINK:String = "link"
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Définit la valeur de la propriété type
d’un objet événement link
.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | true |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Champ de texte contenant l’hyperlien sur lequel l’utilisateur a cliqué. La propriété target ne correspond pas toujours à l’objet de la liste d’affichage qui est associé à l’écouteur d’événement. Utilisez la propriété currentTarget pour accéder à l’objet de la liste d’affichage qui traite actuellement l’événement. |
text | Reste de l’URL après « event: » |
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
Un champ de texte est créé et son contenu est défini sur une chaîne formatée en HTML à l’aide de la propriété htmlText
. Les liens sont soulignés pour faciliter l’identification par l’utilisateur (Adobe Flash Player change le pointeur de la souris une fois que le pointeur a survolé le lien uniquement). Pour s’assurer qu’un clic de souris de l’utilisateur va bien invoquer une méthode ActionScript, l’URL du lien commence par la chaîne "event:"
et un écouteur est ajouté pour l’événement TextEvent.LINK
.
La méthode linkHandler()
, déclenchée après que l’utilisateur a cliqué sur un lien, gère tous les événements de lien pour le champ de texte. La première instruction if vérifie la propriété text
de l’événement, qui contient le reste de l’URL derrière la chaîne "event:"
. Si l’utilisateur a cliqué sur le lien pour le système d’exploitation, le nom du système d’exploitation actuel de l’utilisateur, récupéré dans la propriété Capabilities.os
du système, est utilisé pour envoyer l’utilisateur vers le site Web désigné. Dans le cas contraire, la taille du rayon sélectionnée, transmise par la propriété text
de l’événement, est utilisée pour dessiner un cercle sous le champ de texte. A chaque clic de l’utilisateur sur le lien du rayon, le cercle dessiné précédemment est effacé et un nouveau cercle rouge est dessiné avec la taille du rayon sélectionnée.
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"
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Définit la valeur de la propriété type
d’un objet événement textInput
.
Remarque : cet événement n’est pas distribué pour les touches Supprimer ou Retour arrière.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | true |
cancelable | true ; appelez la méthode preventDefault() pour annuler le comportement par défaut. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Champ de texte dans lequel sont entrés des caractères. La cible ne correspond pas toujours à l’objet de la liste d’affichage qui est associé à l’écouteur d’événement. Utilisez la propriété currentTarget pour accéder à l’objet de la liste d’affichage qui traite actuellement l’événement. |
text | Caractère ou série de caractères entré par l’utilisateur. |
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
Trois champs de texte pour les instructions préliminaires, l’entrée de l’utilisateur et les messages d’avertissement (erreur) sont créés. Un écouteur d’événement est ajouté pour répondre à la saisie de l’utilisateur en déclenchant la méthode textInputHandler()
. A chaque saisie de l’utilisateur, un événement TextEvent.TEXT_INPUT
est distribué.
Remarque : les événements sont déclenchés lorsqu’un utilisateur saisit des caractères de texte et non en réponse à toute touche du clavier, telle que la touche Retour arrière. Pour capturer tous les événements keyboard, utilisez un écouteur pour l’événement KeyboardEvent
.
La méthode textInputHandler()
contrôle et gère l’entrée de l’utilisateur. La méthode preventDefault()
est utilisée pour empêcher Adobe Flash Player d’afficher immédiatement le texte dans le champ de saisie. L’application est chargée de mettre le champ à jour. Pour annuler la suppression ou la modification de l’utilisateur des caractères déjà saisis (la chaîne result
), le contenu du champ de texte est réaffecté à la chaîne result
lorsque l’utilisateur fait une nouvelle saisie. Egalement, pour que l’utilisateur soit toujours confronté au même comportement, la méthode setSelection()
place le point d’insertion (un caret) après le dernier caractère sélectionné dans le champ de texte.
La première instruction if de la méthode textInputHandler()
vérifie le second et le cinquième caractères de la clé de combinaison saisie, qui doivent être numériques. Si l’entrée de l’utilisateur est correcte, la méthode updateCombination()
est appelée et la chaîne de la clé de combinaison (result
) est ajoutée à l’entrée de l’utilisateur. La méthode updateCombination()
déplace également le point d’insertion après le caractère sélectionné. Une fois que les sept caractères sont saisis, la dernière instruction if dans la méthode textInputHandler()
change le type du champ de texte inputTextField
de INPUT
à DYNAMIC
, ce qui signifie que l’utilisateur ne peut plus saisir ni changer de caractères.
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); } } }
- L’exemple déclare les constantes de deux URL à utiliser ultérieurement.
- L’exemple déclare les deux variables de type TextField à utiliser ultérieurement.
- Le constructeur de classe appelle les deux méthodes suivantes :
init()
initialise les objets TextField et leur ajoute des écouteurs d’événement.draw()
ajoute des objets TextFields dans la liste d’affichage et affecte le texte à afficher.
- Les écouteurs
linkHandler()
ettextInputHandler()
réagissent aux événements en fonction de leur type. La méthodelinkHandler()
ouvre un navigateur Web lorsque aucun n’est ouvert et navigue jusqu’à l’adresse URL sur laquelle l’utilisateur a cliqué. La méthodetextInputHandler()
affiche simplement des informations chaque fois que l’utilisateur appuie sur une touche dans le champ de texte associé.
Remarque : le domaine de cet exemple est fictif et [yourDomain]
doit être remplacé par votre propre nom de domaine.
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, 09:30 AM Z