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

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

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

Полезные ссылки
Случайные записи
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 114
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.55
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 038
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.90
  • 29.02.2012">На сервисе микроблогов Futubra появился поиск
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.86
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.165
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 081
  • 05.11.2011">Как сделать кнопку для сайта
  • 03.12.2012">Где расслабиться после работы?
  • 17.03.2011">Руководство по actionscript. часть 3, стр. 001
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 067
  • 07.01.2010">Кинетическая типографика
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 022
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.28
Опрос

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

View Results

Loading ... Loading ...