Руководство по actionscript. часть 4, стр. 080
Поближе познакомимся с четырьмя событиями, представленными в табл. 22.4.
События TextEventJEXTJNPUT и Event. CHANGE
События TextEvent. TEXT_INPUT и Event. CHANGE позволяют определить новый введенный пользователем текст. В частности, эти события могут возникать в результате использования таких методик, предназначенных для ввода текста, как:
? нажатие клавиши;
? вставка текста с помощью специальных сочетаний клавиш или встроенного контекстного меню приложения Flash Player (открываемого щелчком вспомогательной (правой) кнопки мыши);
? ввод текста через программное обеспечение для распознавания речи;
? создание текстового содержимого в редакторе методов ввода.
Событие TextEvent. TEXT_INPUT сообщает о том, что пользователь пытается добавить новый текст в поле, и дает приложению возможность либо пресечь эту попытку, либо разрешить ее. Это событие предоставляет удобный способ для обращения к текстовому содержимому, добавляемому в текстовое поле, до того как оно на самом деле будет добавлено туда. В отличие от этого, событие Event. CHANGE сообщает о том, что попытка пользователя добавить новый текст в поле завершилась успешно и приложение Flash Player соответствующим образом обновило содержимое данного текстового поля.
Обобщенный код, необходимый для регистрации приемника в объекте TextField для события TextEvent. TEXT_INPUT, выглядит следующим образом:
обьектТехЬПе Id. addEventLi stener (TextEvent. TEXT_INPUT. textlnputListener) ;
Обобщенный код для приемника события TextEvent. TEXT_INPUT выглядит следующим образом:
private function textlnputListener (e:TextEvent):void { }
Чтобы предотвратить отображение введенного пользователем текста в объекте TextField, иcпoльзyeтcямeтoдэкзeмпляpapreventDefault ( ) KziaccaEvent, как показано в следующем коде:
private function textlnputListener (e:TextEvent):void { // Предотвращаем отображение введенного пользователем текста на экране e. preventDefault( );
}
Для обращения к тексту, введенному пользователем, применяется переменная экземпляра text класса TextEvent, как показано в следующем коде:
private function textlnputListener (e:TextEvent):void { // Выводим отладочное сообщение, содержащее введенный пользователем текст trace(е. text);
}
Событие TextEvent. TEXT INPUT может быть использовано для автоматического форматирования вводимых пользователем данных при заполнении анкет в приложении, как показано в листинге 22.13. В этом примере весь текст, введенный в поле, преобразуется в верхний регистр. Подобный код может быть использован в разделе «адрес доставки» формы, с помощью которой оформляется заказ товара через Интернет.