Главная / Action Script 3
Пакетflash.events
Классpublic class TextEvent
НаследованиеTextEvent Inheritance Event Inheritance Object
Подклассы DataEvent, ErrorEvent, IMEEvent

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Flash® Player передает объекты TextEvent при вводе текста в текстовое поле или при выборе гиперссылки в текстовом поле с поддержкой HTML. Существует два типа событий текста: TextEvent.LINK и TextEvent.TEXT_INPUT.

Посмотреть примеры

См. также

flash.text.TextField


Общедоступные свойства
 СвойствоОпределено
 Inheritedbubbles : Boolean
[только для чтения] Определяет, является ли событие "событием на цепочке".
Event
 Inheritedcancelable : Boolean
[только для чтения] Определяет, можно ли отключить поведение, связанное с событием.
Event
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 InheritedcurrentTarget : Object
[только для чтения] Объект, активно обрабатывающий объект Event с помощью прослушивателя событий.
Event
 InheritedeventPhase : uint
[только для чтения] Текущая фаза в потоке событий.
Event
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
 Inheritedtarget : Object
[только для чтения] Целевой объект события.
Event
  text : String
Введенный пользователем знак или последовательность знаков для события textInput.
TextEvent
 Inheritedtype : String
[только для чтения] Тип события.
Event
Общедоступные методы
 МетодОпределено
  
TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
Создает объект Event, содержащий данные о событиях text.
TextEvent
  
Создает копию объекта TextEvent и задает значение каждого свойства, совпадающее с оригиналом.
TextEvent
 Inherited
formatToString(className:String, ... arguments):String
Служебная функция для реализации метода toString() в пользовательских классах ActionScript 3.0 Event.
Event
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Проверяет, выполнялся ли для события вызова метода preventDefault().
Event
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Отменяет поведение по умолчанию для события, если такое поведение можно отменить.
Event
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Отменяет обработку прослушивателей событий в текущем узле, а также во всех узлах, которые следуют в потоке событий за текущим узлом.
Event
 Inherited
Отменяет обработку прослушивателей событий в узлах, которые следуют в потоке событий за текущим узлом.
Event
  
Возвращает строку, содержащую все свойства объекта TextEvent.
TextEvent
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Общедоступные константы
 Константа Определено
 InheritedACTIVATE : String = "activate"
[статические] Константа Event.ACTIVATE определяет значение свойства type объекта события Activitate.
Event
 InheritedADDED : String = "added"
[статические] Константа Event.ADDED определяет значение свойства type добавленного объекта события.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[статические] Константа Event.ADDED_TO_STAGE определяет значение свойства type объекта события addedToStage.
Event
 InheritedCANCEL : String = "cancel"
[статические] Константа Event.CANCEL определяет значение свойства type объекта события cancel.
Event
 InheritedCHANGE : String = "change"
[статические] Константа Event.CHANGE определяет значение свойства type объекта события change.
Event
 InheritedCLEAR : String = "clear"
[статические] Задает значение свойства type для объекта события clear.
Event
 InheritedCLOSE : String = "close"
[статические] Константа Event.CLOSE определяет значение свойства type объекта события close.
Event
 InheritedAIR-only CLOSING : String = "closing"
[статические] Константа Event.CLOSING определяет значение свойства type объекта события closing.
Event
 InheritedCOMPLETE : String = "complete"
[статические] Константа Event.COMPLETE определяет значение свойства type объекта события complete.
Event
 InheritedCONNECT : String = "connect"
[статические] Константа Event.CONNECT определяет значение свойства type объекта события connect.
Event
 InheritedCOPY : String = "copy"
[статические] Задает значение свойства type для объекта события copy.
Event
 InheritedCUT : String = "cut"
[статические] Задает значение свойства type для объекта события cut.
Event
 InheritedDEACTIVATE : String = "deactivate"
[статические] Константа Event.DEACTIVATE определяет значение свойства type объекта события deactivate.
Event
 InheritedDISPLAYING : String = "displaying"
[статические] Задает значение свойства type для объекта события displaying.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[статические] Константа Event.ENTER_FRAME определяет значение свойства type объекта события enterFrame.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[статические] Определяет значение свойства type объекта exitFrame.
Event
 InheritedAIR-only EXITING : String = "exiting"
[статические] Константа Event.EXITING определяет значение свойства type объекта exiting.
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[статические] Задает значение свойства type для объекта события frameConstructed.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[статические] Константа Event.FULL_SCREEN определяет значение свойства type для объекта события fullScreen.
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[статические] Константа Event.HTML_BOUNDS_CHANGE определяет значение свойства type объекта htmlBoundsChange.
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[статические] Константа Event.HTML_DOM_INITIALIZE определяет значение свойства type объекта события htmlDOMInitialize.
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[статические] Константа Event.HTML_RENDER определяет значение свойства type объекта события htmlRender.
Event
 InheritedID3 : String = "id3"
[статические] Константа Event.ID3 определяет значение свойства type объекта id3.
Event
 InheritedINIT : String = "init"
[статические] Константа Event.INIT определяет значение свойства type объекта init.
Event
  LINK : String = "link"
[статические] Задает значение свойства type для объекта события "Link".
TextEvent
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[статические] Константа Event.LOCATION_CHANGE определяет значение свойства type объекта события locationChange.
Event
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[статические] Константа Event.MOUSE_LEAVE определяет значение свойства type объекта события mouseLeave.
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[статические] Константа Event.NETWORK_CHANGE определяет значение свойства type объекта события networkChange.
Event
 InheritedOPEN : String = "open"
[статические] Константа Event.OPEN определяет значение свойства type объекта open.
Event
 InheritedPASTE : String = "paste"
[статические] Задает значение свойства type для объекта события paste.
Event
 InheritedREMOVED : String = "removed"
[статические] Константа Event.REMOVED определяет значение свойства type объекта события removed.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[статические] Константа REMOVED_FROM_STAGE определяет значение свойства type объекта события removedFromStage.
Event
 InheritedRENDER : String = "render"
[статические] Константа Event.RENDER определяет значение свойства type объекта события render.
Event
 InheritedRESIZE : String = "resize"
[статические] Константа Event.RESIZE определяет значение свойства type объекта события resize.
Event
 InheritedSCROLL : String = "scroll"
[статические] Константа Event.SCROLL определяет значение свойства type объекта события scroll.
Event
 InheritedSELECT : String = "select"
[статические] Константа Event.SELECT определяет значение свойства type объекта события select.
Event
 InheritedSELECT_ALL : String = "selectAll"
[статические] Задает значение свойства type для объекта события selectAll.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[статические] Константа Event.SOUND_COMPLETE определяет значение свойства type объекта события soundComplete.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[статические] Константа Event.TAB_CHILDREN_CHANGE определяет значение свойства type объекта события tabChildrenChange.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[статические] Константа Event.TAB_ENABLED_CHANGE определяет значение свойства type объекта события tabEnabledChange.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[статические] Константа Event.TAB_INDEX_CHANGE определяет значение свойства type объекта события tabIndexChange.
Event
  TEXT_INPUT : String = "textInput"
[статические] Задает значение свойства type для объекта события textInput.
TextEvent
 InheritedUNLOAD : String = "unload"
[статические] Константа Event.UNLOAD определяет значение свойства type объекта unload.
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[статические] Константа Event.USER_IDLE определяет значение свойства type объекта события userIdle.
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[статические] Константа Event.USER_PRESENT определяет значение свойства type объекта события userPresent.
Event
Сведения о свойстве
textсвойство
text:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Для события textInput — введенный пользователем знак или последовательность знаков. Для события link — текст атрибута event атрибута href тега <a>.



Реализация
    public function get text():String
    public function set text(value:String):void

Пример
На примере следующего кода показывается отправка события link, когда пользователь щелкает гипертекстовую ссылку.
 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()Конструктор
public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Создает объект Event, содержащий данные о событиях text. Объекты Event передаются прослушивателям событий в качестве параметров.

Параметры
type:String — Тип события. Прослушиватели событий могут получать эту информацию через унаследованное свойство type. Возможные значения: TextEvent.LINK и TextEvent.TEXT_INPUT.
 
bubbles:Boolean (default = false) — Определяет, участвует ли объект Event в фазе восходящей цепочки процесса события. Прослушиватели событий могут получать эту информацию через унаследованное свойство bubbles.
 
cancelable:Boolean (default = false) — Определяет, можно ли отменить объект Event. Прослушиватели событий могут получать эту информацию через унаследованное свойство cancelable.
 
text:String (default = "") — Один или несколько символов текста, введенные пользователем. Прослушиватели событий могут получать эту информацию через свойство text.

См. также

Сведения о методе
clone()метод
override public function clone():Event

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Создает копию объекта TextEvent и задает значение каждого свойства, совпадающее с оригиналом.

Возвращает
Event — Новый объект TextEvent, значения свойств которого соответствуют значениям оригинала.
toString()метод 
override public function toString():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает строку, содержащую все свойства объекта TextEvent. Строка имеет следующий формат:

[TextEvent type=значение bubbles=значение cancelable=значение text=значение]

Возвращает
String — Строка, содержащая все свойства объекта TextEvent.
Сведения о константе
LINKКонстанта
public static const LINK:String = "link"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает значение свойства type для объекта события link.

Данное событие имеет следующие свойства.

СвойствоЗначение
bubblestrue
cancelablefalse; нет поведения по умолчанию для отмены.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetТекстовое поле, содержащее гиперссылку, по которой щелкнул пользователь. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget, чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент.
textОставшаяся часть URL после "event:"

См. также


Пример

В данном примере, когда пользователь щелкает гиперссылку и HTML-тексте, отправляется событие текста. В зависимости от ссылки пользователь направляется на заданный веб-сайт в зависимости от операционной системы компьютера, либо рисуется круг с использованием выбранного пользователем радиуса.

Создается текстовое поле, а его содержимому задается вид строки в формате HTML с помощью свойства htmlText. Ссылки подчеркиваются, чтобы пользователю было проще их найти. (Adobe Flash Player изменяет указатель мыши только после того, как он наводится на ссылку.) Чтобы щелчок пользователя гарантированно вызвал метод ActionScript, URL ссылки начинается со строки "event:", а для события TextEvent.LINK добавляется прослушиватель.

Метод linkHandler(), запускаемый после щелчка пользователя по ссылке, управляет всеми событиями ссылок для текстового поля. Первая инструкция if проверяет свойство text события, которое содержит остальную часть URL после строки "event:". Если пользователь щелкнул ссылку для операционной системы, имя его текущей операционной системы, полученное из свойства системы Capabilities.os, используется для перехода на заданный веб-сайт. В противном случае под текстовым полем рисуется круг с использованием радиуса выбранного размера, передаваемого свойством text. Каждый раз, когда пользователь нажимает на ссылку радиуса, нарисованный ранее круг удаляется и отображается новый красный круг с радиусом выбранного размера.

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Константа  
public static const TEXT_INPUT:String = "textInput"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает значение свойства type для объекта события textInput.

Данное событие имеет следующие свойства.

СвойствоЗначение
bubblestrue
cancelabletrue; вызовите метод preventDefault() для отмены поведения по умолчанию.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetТекстовое поле, в которое вводятся символы. Цель не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget, чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент.
textСимвол или последовательность символов, введенных пользователем.

См. также


Пример

В следующем примере рассматривается руководство по созданию особой комбинации ключа (напоминающей пароль). Эта комбинация состоит из семи буквенно-числовых символов, в которой второй и пятый символы — это цифры.

Создается три текстовых поля для предварительных инструкций, пользовательского ввода и предупреждения (ошибки) Добавляется прослушиватель событий, который реагирует на ввод текста пользователем, запуская метод textInputHandler(). Каждый раз, когда пользователь вводит текст, отправляется событие TextEvent.TEXT_INPUT.

Примечание. События текста отправляются, когда пользователь вводит символы, и не отправляются в ответ на любой ввод с клавиатуры, например на нажатие клавиши "Назад". Чтобы фиксировать все события клавиатуры, необходимо использовать прослушиватель событий KeyboardEvent.)

Метод textInputHandler() контролирует пользовательский ввод и управляет им. Метод preventDefault() используется для того, чтобы проигрыватель Adobe Flash Player не отображал текст в поле ввода текста сразу. За обновление поля отвечает приложение. Чтобы отменить удаление или изменение уже введенных пользователем символов (строка result, содержимое поля ввода текста переназначается строке result, когда пользователь вводит новые символы. Также для обеспечения согласованности функций, метод setSelection() помещает точку вставки (знак "^") после последнего выделенного символа в текстовом поле.

Первая инструкция if в методе textInputHandler() проверяет ввод для второй и пятой позиции символов в комбинации ключа, в которых должны быть цифры. Если пользователь ввел правильные символы, вызывается метод updateCombination(), и в строку комбинации ключа (result) добавляется ввод пользователя. Метод updateCombination() также помещает точку вставки после выделенного символа.. После ввода седьмого символа последняя инструкция if метода textInputHandler() изменяет тип текстового поля inputTextField с INPUT на DYNAMIC: это значит, что пользователь больше не может вводить и изменять символы.

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);
        }
    }
}
Примеры Как пользоваться примерами
TextEventExample.as

В следующем примере используется класс TextEventExample для создания текстовых полей и прослушивания различных событий текста. Этот код выполняет следующие задачи.
  1. Объявляются константы для двух URL, которые будут использоваться в дальнейшем.
  2. Объявляются две переменные типа TextField для использования в дальнейшем.
  3. Конструктор класса вызывает два следующих метода:
    • init() инициализирует объекты TextField и добавляет к ним прослушиватели событий;
    • draw() добавляет объекты TextField в список отображения и назначает им текст для отображения.
  4. Прослушиватели linkHandler() и textInputHandler() реагируют на соответствующие события. Метод linkHandler() открывает веб-обозреватель, если это еще не сделано и открывает URL, по которому щелкнул пользователь. Метод textInputHandler() просто отображает информацию при каждом нажатии клавиши в соответствующем текстовом поле.

Примечание. В этом примере используется вымышленный домен, [yourDomain] необходимо заменить существующим доменом.

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);
        }
    }
}