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

С другой стороны, если пользователь щелкнет кнопкой мыши в области отображения, среда Flash выполнит диспетчеризацию события MouseEvent. CLICK, получателем которого является объект Stage, и в результате будет выведена следующая информация:

Current event phase: Target

Как будет рассмотрено в следующем разделе, переменная eventPhase обычно используется для отличия событий, получателем которых является некий объект, от событий, получателями которых являются потомки этого объекта. Реже переменная eventPhase применяется для отличия фазы захвата от фазы всплытия внутри приемников предка, зарегистрированных для обеих фаз.

Отличие событий, получателем которых является некий объект, от событий, получателями которых являются его потомки

Когда переменной eventPhase объекта Event, передаваемого в функцию-приемник, присвоено значение EventPhase. AT TARGET, мы знаем, что получателем события является объект, в котором зарегистрирован данный приемник. С другой стороны, когда переменной eventPhase присвоено значение EventPhase. CAPTURING_PHASE или EventPhase. BUBBLING_PHASE, мы знаем, что получателем события является потомок объекта, в котором зарегистрирован данный приемник.

Таким образом, приемник может использовать следующий код, чтобы игнорировать события, получателями которых являются потомки объекта, зарегистрировавшего этот приемник:

private function некийПриемник (е:НекоеСобытие):void { if (е. eventPhase == EventPhase. ATJARGET) { // Этот код выполняется только в том случае, если получателем события // является объект, зарегистрировавший данный приемник.

}

}

Мы можем использовать предыдущую методику, чтобы написать код, который реагирует на события ввода, получаемые неким конкретным объектом, но не его потомками. Например, представьте приложение, в котором экземпляр класса Stage содержит множество кнопок, текстовых полей и других объектов для ввода данных. Чтобы реагировать только на щелчки кнопкой мыши, которые происходят над незаполненными областями экземпляра класса Stage, мы используем следующий код:

// Регистрируем приемник в экземпляре класса Stage для событий // MouseEvent. CLICK. В результате метод clickListener( ) будет вызываться // всегда, когда щелкают на *любом* объекте в списке отображения, stage. addEventLi stener(MouseEvent. CLICK, cli ckLi stener);

// …где-то в классе определяем приемник события MouseEvent. CLICK

private function clickListener (e:MouseEvent):void {

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

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

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

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

Полезные ссылки
Случайные записи
  • 09.06.2011">Витамин С подавляет иммунитет
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 083
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.95
  • 20.05.2012">Владельцы iPhone5.com отказались от доменного имени из-за жалобы Apple
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 003
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 138
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 057
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 034
  • 15.07.2010">Полезные термины для новичков.
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 070
  • 06.04.2010">Инструменты и сервисы для оптимизации графики
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 087
  • 24.11.2012">Как я покупал авиабилеты на 711.ua
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 114
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.130
Опрос

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

View Results

Loading ... Loading ...