私は選択可能なコントロール(ラジオボタン) とテキスト入力で構成されたカスタムコンポーネントを持っています。これらのコントロールの両方からの 変更イベントに応答してロジックを実行したいが、それ以降は、コンポジットコンポーネントの変更ハンドラ に登録されているものにイベントを処理するための変更があるようにしたい。 問題は、 イベントを再ディスパッチして、イベントターゲットが自分のカスタム コンポーネントに変更され、元のイベントのターゲットが失われてしまうことです。複合カスタムコンポーネントでのFlex 3イベントの伝播?
はここに私のカスタムコンポーネントです:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" label="{[email protected]}" data="{[email protected]()}">
<mx:Script>
<![CDATA[
import mx.controls.RadioButtonGroup;
[Bindable]
public var selected: Boolean;
[Bindable]
public var text: String;
[Bindable]
public var listItem: XML;
[Bindable]
public var group: RadioButtonGroup;
private function onSelectionChange(event: Event): void {
selected = event.target.selected;
dispatchEvent(event);
}
private function onTextChange(event: Event): void {
text = event.target.text;
dispatchEvent(event);
}
]]>
</mx:Script>
<mx:RadioButton group="{group}" label="{label}" selected="{selected}" change="onSelectionChange(event)"/>
<mx:TextInput width="100%"
maxChars="{[email protected]th}"
enabled="{selected}"
visible="{listItem.hasOwnProperty('specify')}"
includeInLayout="{visible}"
change="onTextChange(event)"/>
</mx:HBox>
このコンポーネントからイベントを変更する受信イベントハンドラで、私はevent.targetとして、SpecifyRadioButtonのインスタンスではなく、 のTextInputやラジオボタンで表示さ I期待している。 イベントをどのように伝えて、私がここで必要なものを手に入れるのですか?再派遣元のイベントは、新しいイベントを作成し、origEvent
プロパティとして元のイベントを渡す代わりに
Getting event [Event type="change" bubbles=false cancelable=false eventPhase=2]
from question0.tabSurvey.questionForm.questionContainer.Single94.VBox95.SpecifyRadioButton111