| Пакет | flash.events |
| Класс | public class TextEvent |
| Наследование | TextEvent Event Object |
| Подклассы | DataEvent, ErrorEvent, IMEEvent |
| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
TextEvent.LINK и TextEvent.TEXT_INPUT.
Связанные элементы API
| Свойство | Определено | ||
|---|---|---|---|
![]() | bubbles : Boolean [только для чтения]
Определяет, является ли событие событием восходящей цепочки. | Event | |
![]() | cancelable : Boolean [только для чтения]
Указывает, можно ли предотвратить поведение, связанное с событием. | Event | |
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
![]() | currentTarget : Object [только для чтения]
Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. | Event | |
![]() | eventPhase : uint [только для чтения]
Текущая фаза в потоке событий. | Event | |
![]() | target : Object [только для чтения]
Целевой объект события. | Event | |
| text : String
Для события textInput — введенный пользователем знак или последовательность знаков. | TextEvent | ||
![]() | type : String [только для чтения]
Тип события. | Event | |
| Метод | Определено | ||
|---|---|---|---|
Создает объект Event, содержащий данные о событиях text. | TextEvent | ||
[переопределить]
Создает копию объекта TextEvent и задает значение каждого свойства, совпадающее с оригиналом. | TextEvent | ||
![]() |
Служебная функция для реализации метода toString() в пользовательских классах ActionScript 3.0 Event. | Event | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Проверяет, выполнялся ли для события вызова метода preventDefault(). | Event | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Отменяет поведение по умолчанию для события, если такое поведение можно отменить. | Event | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Отменяет обработку прослушивателей событий в текущем узле, а также во всех узлах, которые следуют в потоке событий за текущим узлом. | Event | |
![]() |
Отменяет обработку прослушивателей событий в узлах, которые следуют в потоке событий за текущим узлом. | Event | |
![]() |
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | |
[переопределить]
Возвращает строку, содержащую все свойства объекта TextEvent. | TextEvent | ||
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
| Константа | Определено | ||
|---|---|---|---|
| LINK : String = "link" [статические]
Задает значение свойства type для объекта события link. | TextEvent | ||
| TEXT_INPUT : String = "textInput" [статические]
Задает значение свойства type для объекта события textInput. | TextEvent | ||
text | свойство |
text:String| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Для события 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 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Создает объект 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.
|
Связанные элементы API
clone | () | метод |
override public function clone():Event| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Создает копию объекта TextEvent и задает значение каждого свойства, совпадающее с оригиналом.
ВозвращаетEvent — Новый объект TextEvent, значения свойств которого соответствуют значениям оригинала.
|
toString | () | метод |
override public function toString():String| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Возвращает строку, содержащую все свойства объекта TextEvent. Строка имеет следующий формат:
[TextEvent type=value bubbles=value cancelable=value text=value]
String — Строка, содержащая все свойства объекта TextEvent.
|
LINK | Константа |
public static const LINK:String = "link"| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Задает значение свойства type для объекта события link.
Это событие имеет следующие свойства:
| Свойство | Значение |
|---|---|
bubbles | true |
cancelable | false; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Текстовое поле, содержащее гиперссылку, по которой щелкнул пользователь. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget для обращения к объекту в списке отображения, обрабатывающему событие в данный момент. |
text | Оставшаяся часть URL-адреса после event: |
Связанные элементы API
Пример ( Использование этого примера )
Создается текстовое поле, а его содержимому задается вид строки в формате HTML с помощью свойства htmlText. Ссылки подчеркиваются, чтобы пользователю было проще их найти. (Adobe Flash Player изменяет указатель мыши только после того, как он наводится на ссылку.) Чтобы щелчок пользователя гарантированно вызвал метод ActionScript, URL-адрес ссылки начинается со строки event:, а для события TextEvent.LINK добавляется прослушиватель.
Метод linkHandler(), запускаемый после щелчка пользователя по ссылке, управляет всеми событиями ссылок для текстового поля. Первая инструкция if проверяет свойство text события, которое содержит остальную часть URL-адрес после строки event:. Если пользователь щелкнул ссылку для операционной системы, имя его текущей операционной системы, полученное из свойства системы Capabilities.os, используется для перехода на заданный web-сайт. В противном случае под текстовым полем рисуется круг с использованием радиуса выбранного размера, передаваемого свойством 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 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Задает значение свойства type для объекта события textInput.
Примечание. Это событие не отправляется для клавиш Delete или Backspace.
Это событие имеет следующие свойства:
| Свойство | Значение |
|---|---|
bubbles | true |
cancelable | true; вызовите метод preventDefault() для отмены поведения по умолчанию. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Текстовое поле, в которое вводятся символы. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget для обращения к объекту в списке отображения, обрабатывающему событие в данный момент. |
text | Символ или последовательность символов, введенных пользователем. |
Связанные элементы API
Пример ( Использование этого примера )
Создается три текстовых поля для предварительных инструкций, пользовательского ввода и предупреждения (ошибки) Добавляется прослушиватель событий, который реагирует на ввод текста пользователем, запуская метод 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);
}
}
}
- Объявляются константы для двух URL-адресов, которые будут использоваться в дальнейшем.
- Объявляются две переменные типа TextField для использования в дальнейшем.
- Конструктор класса вызывает два следующих метода:
init()инициализирует объекты TextField и добавляет к ним прослушиватели событий;draw()добавляет объекты TextField в список отображения и назначает им текст для отображения.
- Прослушиватели
linkHandler()иtextInputHandler()реагируют на соответствующие события. МетодlinkHandler()открывает web-браузер, если это еще не сделано и открывает 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);
}
}
}
Tue Jun 12 2018, 11:34 AM Z
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства