Руководство по actionscript. часть 2, стр. 060
Отмена стандартного поведения для пользовательских событий
В предыдущем разделе рассказывалось, что некоторые предопределенные события характеризуются стандартным поведением. Например, стандартное поведение события TextEvent. TEXT INPUT заключается в добавлении текста в текстовое поле. Мы также знаем, что для предопределенных событий, которые относятся к категории отменяемых, избежать стандартного поведения можно с помощью метода экземпляра preventDefault ( ) класса Event.
Кроме того, пользовательские события могут характеризоваться определенным стандартным поведением, избежать которого можно также с помощью метода preventDefault ( ). Стандартное поведение пользовательского события полностью определяется и реализуется в программе. Общий подход, применяемый для создания событий с отменяемым стандартным поведением, заключается в следующем.
1. На этапе диспетчеризации события создать событийный объект, представляющий событие, передав в качестве параметра отменяемое конструктора класса Event значение true.
2. Использовать метод dispatchEvent ( ) для диспетчеризации события.
3. После завершения метода dispatchEvent ( ) использовать метод экземпляра isDef aultPrevented ( ) класса Event, чтобы определить, запрашивали ли приемники отмену стандартного поведения.
4. Если метод is Default Prevented ( ) событийного объекта вернет значение false, продолжать выполнение действий, относящихся к стандартному поведению; в противном случае не выполнять действий, относящихся к стандартному поведению.
Рассмотрим обобщенный код для создания события с отменяемым стандартным поведением:
// Создание событийного объекта с произвольными значениями для параметров // тип и всплывающее. Для параметра отменяемое (третий параметр) указывается // значение true.
var e:Event = new Event(7″*f/7. всплывающее, true);
// Диспетчеризация события dispatchEvent(e);
// Проверить, запрашивали ли приемники отмену стандартного поведения.
// Если приемники не вызывали метод preventDefault( )____
if (!e. isDefaultPrevented( )) {
// …выполняем действия, относящиеся к стандартному поведению } .