FLEX中给组件添加自定义事件
2010-04-08 09:52
459 查看
[align=center]FLEX中给组件添加自定义事件[/align]
[align=left]FLEX 系统提供的事件与DOM的事件基本上完全一致但是和传统的WEB开发不同的是 可以为自定义的组件添加自定义的事件 比如我们做了一个组件是一个登录框 当点击登录按钮的时候触发我们自定义的事件比如叫"login"事件 虽然这个login事件归根结底还是某个按钮的click事件但自定义的事件比传统的事件有什么好处呢:一是事件的名字是自定义的可以形象的表示这个事件本身而不像以前还要关心是哪个按钮按了一下等等 这样为组件与组件的通讯提供便利 下面的例子中自定义了一个组件叫testComponent , 这个自定义的组件中有一个按钮和一个输入框, 当按下这个按钮的时候 新建一个新的事件叫shareData [/align]
[align=left]并且shareData事件被声明为一个textEvent , textEvent可以通过text属性来传递数据(textInput控件的值)。[/align]
EventTest.mxml中引用了这个自定义组件testComponent 并捕获testComponent中的自定义事件shareData, 输出testComponent 中textInput控件的字符串
[align=left] [/align]
[align=left]testComponent.mxml :[/align]
?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" height="300">
<!-- 声明本组件将抛出的事件 -->
<mx:Metadata>
[Event(name="shareData",type="flash.events.TextEvent")]
</mx:Metadata>
<mx:Script>
<![CDATA[
private function fnOnClick_testComp():void {
//event 构造函数至少传递一个事件名
var event:TextEvent = new TextEvent("shareData");
event.text = myTxtInput.text;
//使用disptchEvent 来抛出创建的事件
dispatchEvent(event);
}
]]>
</mx:Script>
<mx:Label text="This is the Test component" />
<mx:TextInput id="myTxtInput"/>
<!-- 当点击按钮时进行自定义事件 -->
<mx:Button label="clickMe" click="fnOnClick_testComp()" />
</mx:VBox>
[align=left]eventTest.mxml :[/align]
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
xmlns:view="view.*">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function fnOnShareData(event:TextEvent):void {
Alert.show("event has been use. event.text => " + event.text );
}
]]>
</mx:Script>
<!-- 调用我们自定义的组件 并处理它的shareData事件 就像click事件一样使用 -->
<view:testComponent shareData="fnOnShareData(event)"/>
</mx:Application>
相关文章推荐
- FLEX中给组件添加自定义事件
- FLEX中给组件添加自定义事件
- Flex组件组件添加自定义事件
- 为Flex自定义组件添加属性和事件
- flex自定义组件如何在设计时显示预期结果/已添加控件
- js框架 dwz jui 的日历组件 添加自定义事件
- 自定义Flex事件,实现组件间传递事件
- [Flex] Flex 控件&类 的自定义事件添加
- Flex自定义组件与自定义事件
- Flex利用自定义事件使用弹出窗口为DataGrid添加新数据
- FLEX自定义组件调用事件
- 自定义flex组件使用标签方式添加子组件
- Android 自定义listview 添加监听器 解决屏幕滑动组件状态干扰的问题checkbox
- WPF 添加自定义路由事件
- node.js自定义类中添加自定义事件
- flex ItemRenderer 模版组件事件
- 自定义真正的可重用Flex组件
- Flex Alert show添加事件
- Android自定义控件系列 六:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
- Flex中DataGrid组件选中某一行的双击事件