我有一个由可选控件(单选按钮) 和文本输入组成的自定义组件。我想执行一些逻辑以响应来自这两个控件的 更改事件,但在此之后,我希望 在复合组件的更改处理程序 上注册的任何内容都有更改以处理事件。问题是,当我 重新分派事件时,事件目标已更改为我的自定义 组件,从而失去原始事件的目标。组合自定义组件上的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]}"
enabled="{selected}"
visible="{listItem.hasOwnProperty('specify')}"
includeInLayout="{visible}"
change="onTextChange(event)"/>
</mx:HBox>
在接收来自这个组件的改变事件的事件处理程序,我 看到event.target是SpecifyRadioButton的一个实例,而不是 的TextInput或单选按钮,因为我期待。我应该如何宣传 活动以获得我想要的内容?
Getting event [Event type="change" bubbles=false cancelable=false eventPhase=2]
from question0.tabSurvey.questionForm.questionContainer.Single94.VBox95.SpecifyRadioButton111