Руководство по 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

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

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

Полезные ссылки
Случайные записи
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 037
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.60
  • 20.01.2013">Что включает в себя понятие «продвижение сайта»?
  • 28.02.2010">Где найти и скачать иконки?
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 057
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 121
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 086
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.21
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 128
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.151
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 038
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 068
  • 23.02.2012">Pirate Bay обещает уйти в подполье
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 056
  • 15.03.2012">Яндекс открыл второй офис в Швейцарии
Опрос

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

View Results

Loading ... Loading ...