Руководство по actionscript. часть 2, стр. 047
Чтобы определить, было ли отменено стандартное поведение события, диспетчеризация которого происходит в текущий момент, проверьте возвращаемое значение метода экземпляра isDefault Prevented ( ) класса Event внутри приемника, зарегистрированного для получения уведомлений о возникновении данного события.
Стоит отметить, что, как и предопределенные события, пользовательские события имеют возможность определять стандартное поведение, которое может быть отменено вызовом метода preventDef aul t ( ). Дополнительную информацию вместе с примером кода можно найти в подразд. «Отмена стандартного поведения для пользовательских событий» разд. «Пользовательские события» далее в этой главе.
Еще один пример, демонстрирующий использование метода preventDefault() для события TextEvent. TEXT_INPUT, показан в листинге 22.8 гл. 22.
Приоритет приемника события
По умолчанию, если сразу несколько приемников событий регистрируются в конкретном объекте для получения уведомлений об одном и том же типе событий, они вызываются в том порядке, в котором были зарегистрированы. Например, в следующем коде два приемника событий — completeListenerA ( ) и completeListenerB ( ) — регистрируются в объекте urlLoader для получения уведомлений о событии Event. COMPLETE. При возникновении события Event-COMPLETE приемник completeListenerA ( ) будет выполнен раньше приемника completeListenerB ( ), поскольку completeListenerA ( ) был зарегистрирован раньше completeListenerB ( ).
package { import flash. display.*; import flash. net.*; import flash. events.*;
public class FileLoader extends Sprite { public function FileLoader ( ) { var url Loader-.URLLoader = new URLLoader( ); // Порядок регистрации определяет порядок выполнения urlLoader. addEventLi stener(Event. COMPLETE, completeLi stenerA);
url Loader. addEventLi stener(Event. COMPLETE. completeListenerB); url Loader.1oad(new URLRequest(«someFi1e. txt»)):
}
private function completeListenerA (e:Event):void { traceCListener A: Load complete»);
}
private function completeListenerB (e:Event):void { traceCListener B: Load complete»);
}
}
}
Изменить стандартный порядок вызова приемников событий можно с помощью параметра приоритет метода addEventListener ( ), показанного в следующем обобщенном коде:
addEventLi stener(тия, приемник, использоватьПерехват, приоритет, использоватьСлабуюСсылку)
Параметр приоритет представляет собой целое число, обозначающее порядок, в котором должен вызываться регистрируемый приемник события относительно других приемников, зарегистрированных для того же события в том же объекте. Приемники, зарегистрированные с более высоким значением параметра приоритет, будут вызваны раньше приемников, зарегистрированных с более низким значением. Например, приемник, зарегистрированный со значением 3 параметра приоритет, будет вызван раньше приемника, зарегистрированного со значением 2 параметра приоритет. Если два приемника зарегистрированы с одним и тем же значением параметра приоритет, они будут выполняться в том порядке, в котором были зарегистрированы. Если значение параметра приоритет не указано, принимается значение по умолчанию, равное 0.