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

Определение текущей фазы события

Как уже известно из подразд. «Регистрация приемника предка для фазы захвата и фазы всплытия» разд. «Приемники событий и цепочка диспетчеризации событий», дважды вызвав метод addEventListener ( ), можно зарегистрировать одну и ту же функцию-приемник события как для фазы захвата, так и для фазы всплытия процесса диспетчеризации события. В подразд. «Двойное назначение параметра useCapture» разд. «Приемники событий и цепочка диспетчеризации событий» мы также узнали, что приемник события, при регистрации которого параметру useCapture было установлено значение false, может вызываться как в фазе получения, так и в фазе всплытия диспетчеризации события. Следовательно, когда в ответ на возникшее событие выполняется функция-приемник события, текущая фаза события будет известна не всегда. В соответствии с этим язык ActionScript предоставляет переменную экземпляра eventPhase класса Event, которая может быть использована внутри функции-приемника события для определения текущей фазы события.

Переменная eventPhase содержит информацию о том, в какой фазе находится текущий процесс диспетчеризации события — захвата, получения или всплытия.

Когда процесс диспетчеризации события находится в фазе захвата, переменной eventPhase присваивается значение EventPhase. CAPTURING_PHASE, которое означает, что объект-получатель еще не получил уведомление о возникновении события.

Когда процесс диспетчеризации события находится в фазе получения, переменной eventPhase присваивается значение EventPhase. ATTARGET, которое означает, что в настоящий момент объект-получатель обрабатывает событие.

Когда процесс диспетчеризации события находится в фазе всплытия, переменной eventPhase присваивается значение EventPhase. BUBBLING_PHASE, которое означает, что объект-получатель завершил обработку события.

Обычно константам EventPhase. CAPTURING_PHASE, EventPhase. AT_TARGET и EventPhase. BUBBLING_PHASE присваиваются значения 1, 2 и 3 соответственно, но эти значения со временем могут измениться, поэтому использовать их непосредственно в коде не следует. Вместо этого, чтобы определить текущую фазу события внутри функции-приемника события, всегда сравнивайте значение переменной eventPhase с константами класса EventPhase. Например, всегда используйте код наподобие следующего:

private function someListener (e:Event):void { if (e. eventPhase = EventPhase. AT TARGET) {

// Этот приемник был вызван в фазе получения…

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

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

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

Полезные ссылки
Случайные записи
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 133
  • 08.03.2012">Новый рекорд Skype: 35 млн одновременных пользователей
  • 21.10.2011">Мегафон
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.83
  • 11.03.2011">Руководство по actionscript. часть 3, стр. 152
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 075
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 061
  • 29.02.2012">На сервисе микроблогов Futubra появился поиск
  • 29.10.2011">Мозаичный текст
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 037
  • 24.07.2013">Обустройство пола в доме
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.50
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 050
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 091
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.111
Опрос

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

View Results

Loading ... Loading ...