Руководство по actionscript. часть 2, стр. 046

Предположим, объект Sprite, содержащий объект TextField, зарегистрировал приемник события clickListener ( ) для события MouseEvent. CLICK. Когда пользователь щелкает кнопкой мыши в этом текстовом поле, происходит диспетчеризация события MouseEvent. CLICK, в результате чего вызывается приемник clickListener ( ). Внутри метода clickListener ( ) переменная currentTarget ссылается на объект Sprite, а переменная target — на объект TextField.

Программы обычно используют переменную currentTarget для управления объектом, в котором зарегистрирован приемник. В качестве примера модифицируем функцию f ocusInListener ( ) из листинга 12.3. На этот раз при получении объектом TextField фокуса ввода наш новый код функции focusInListener ( ) будет отображать синий овал вокруг текстового поля. Синий овал рисуется на объекте Sprite, доступ к которому осуществляется через переменную currentTarget.

public function focusInListener (e:FocusEvent):void { // Установить для фона текстового поля красный цвет TextField(e. target).backgroundColor = OxFFOOOO;

// Получить ссылку на объект Sprite

var theSprite:Sprite = Sprite(e. currentTarget);

// Нарисовать эллипс на объекте Sprite theSpri te. graphi cs. begi nFi11(OxOOOOFF): theSprite. graphics. drawEl1ipse(-10. -10. 75. 40):

Отмена стандартного поведения событий

Некоторые события в языке ActionScript обладают побочным эффектом, называемым стандартным поведением. Например, стандартным поведением события TextEvent. TEXT_INPUT является добавление текста в текстовое поле получателя. Подобным образом стандартным поведением события MouseEvent. MOUSE_DOWN, получаемого объектом класса SimpleButton, является отображение картинки, которая представляет нажатое состояние кнопки.

В некоторых случаях события, которые характеризуются стандартным поведением, предоставляют возможность избежать этого поведения программным путем. Такие события называются отменяемыми. Например, отменяемыми являются события TextEvent. TEXT_INPUT, FocusEvent. KEY_FOCUS_CHANGE и FocusEvent. MOUSE_FOCUS_CHANGE.

Чтобы избежать стандартного поведения для отменяемого события, мы вызываем метод 3K3eMR7mpapreventDef ault ( ) класса Event над объектом этого класса, передаваемым во все приемники, зарегистрированные для данного события. Например, в следующем коде мы отменяем стандартное поведение для всех событий TextEvent. TEXT_INPUT, получателем которых является текстовое поле t. Вместо того чтобы позволить программе отображать в текстовом поле текст, вводимый пользователем, мы будем просто добавлять в это поле букву «х».

package { import flash. display.*; import flash. text.*; import flash. events.*;

// Изменить текст, вводимый пользователем, на символ «х» public class InputConverter extends Sprite { private var t:TextField;

public function InputConverter ( ) { // Создаем текстовое поле t = new TextField( ); t. border = true; t. background = true; t. type = TextFieldType. INPUT addChild(t);

// Регистрируем приемник для события TextEvent. TEXT_INPUT t. addEventListener(TextEvent. TEXT_INPUT, textInputListener);

}

// Приемник выполняется при возникновении события TextEvent. TEXT_INPUT private function textInputListener (e:TextEvent):void {

// Показать текст, введенный пользователем

trace(«Attempted text input: » + e. text);

// Исключить отображение введенного текста в текстовом поле e. preventDefault( );

// Добавить в текстовое поле букву «х» вместо введенного // пользователем текста t. appendTextCx»);

Чтобы определить, обладает ли определенное событие стандартным поведением, которое можно отменить, проверьте значение переменной экземпляра cancelable класса Event внутри приемника, зарегистрированного для получения уведомлений о возникновении данного события. Для предопределенных событий эту информацию можно также найти в разделе описания соответствующего события в справочнике по языку ActionScript корпорации Adobe.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 03.01.2010">Красивые российские или же кириллические шрифты
  • 20.01.2013">Что включает в себя понятие «продвижение сайта»?
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 021
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 027
  • 01.01.2010">14 бесплатных шрифтов в стиле Web 2.0
  • 22.02.2013">Новая информация о Destiny
  • 28.03.2010">Коллекция кистей для Photoshop
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 091
  • 23.07.2011">Обновление линейки Aspire One
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 139
  • 29.02.2012">«Яндекс.Диск» — российский ответ сервису iCloud от Apple
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 093
  • 03.09.2011">Сравнительный тест нетбука Acer One 751 и ноутбука Acer 1810 Timeline
  • 23.02.2011">Руководство по actionscript. часть 7, стр. 038
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 054
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...