Вот что я думаю, чтобы быть правдой -
Чтобы отменить поведение по умолчанию, связанное с событием, должно быть 2 вещи:
Событие должно быть помечено как отменяемое (вы можете проверить свойство отменяемого события, чтобы определить это). Если вы отправляете событие самостоятельно, установите для третьего параметра значение true, чтобы пометить событие как отменяемое. Если событие помечено как отменяемое, вызов event.preventDefault () установит событие как «отмененное», а запрос event.isDefaultPrevented () вернет true. Если событие НЕ помечено как отменяемое, вызов метода event.preventDefault () ничего не изменит. Запрос event.isDefaultPrevented () всегда возвращает false независимо от того, сколько раз вы вызываете event.preventDefault ().
Обработчик события, зарегистрированный для события, должен фактически иметь возможность ничего не делать (т.е. предотвращать поведение по умолчанию, связанное с событием). Поэтому в обработчике должно быть что-то вроде этого:
if (! Event.isDefaultPrevented ()) {doSomething (); }
Итак, это все еще оставляет меня с вопросом - «Для отменяемого события типа X, каково поведение по умолчанию?»
Полагаю, это зависит от цели события. Например, целью события DataGridEvent.HEADER_RELEASE является DataGrid, а внутри класса DataGrid вы найдете это в конструкторе:
addEventListener(DataGridEvent.HEADER_RELEASE,
headerReleaseHandler,
false, EventPriority.DEFAULT_HANDLER);
и обработчик выглядит так:
private function headerReleaseHandler(event:DataGridEvent):void
{
if (!event.isDefaultPrevented())
{
manualSort = true;
sortByColumn(event.columnIndex);
manualSort = false;
}
}
Или вы можете бесцельно ковыряться в документах и, возможно, наткнуться на ответ, подобный этому:
http://livedocs.adobe.com/flex/3/langref/mx/controls/DataGrid.html#event%3aheaderRelease
«Элемент управления DataGrid имеет обработчик по умолчанию для этого события, который реализует сортировку по одному столбцу»
Надеюсь, этот ответ поможет уменьшить бесцельность поиска документов.
Джереми