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

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

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

Полезные ссылки
Случайные записи
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 014
  • 23.07.2011">Животные рисунки
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.60
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 099
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 036
  • 07.03.2011">Руководство по actionscript. часть 4, стр. 124
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 090
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 103
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 002
  • 24.02.2011">Руководство по actionscript. часть 7, стр. 009
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 028
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 033
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 026
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 033
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 006
Опрос

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

View Results

Loading ... Loading ...