はい、使用できるイベントのメソッドがあります。したがって、イベントは引き続きディスパッチされますが、これにより、イベントで何が起こるかを完全に制御できます。
// first set the useCapture flag to true
// this tell flex that onChange gets the event before it starts bubbling
myCustomComponentThatDispatchesALotOfChangeEvents.addEventListener(Event.CHANGE, onChange, true);
private function onChange(event:Event):void{
// here is the method you want
// this stops the event from bubbling and lets you handle
// all functionality in this listener only
event.stopImmediatePropogation();
// now look at what happened and see if you want to
// do anything else based on what actually changed
}
補足として、イベントのデフォルト動作をキャンセルする Event.preventDefault() を見ることもできます
「変更」もフレックスです。特定の 1 つのシナリオでのみイベントをディスパッチしたい場合は、MyChangeEvent のようなサブクラス イベントを持つ新しいイベント クラスを作成します。あなたがあなたの変更を行うとき...
dispatchEvent(new MyChangeEvent(MyChangeEvent.STUFF_CHANGED))
それから
myCustomComponentThatDispatchesALotOfChangeEvents.addEventListener(MyChangeEvent.STUFF_CHANGED, onChange);