ActionScript3.0事件处理

ActionScript3.0里有两种事件处理方法:事件调用回调函数、事件侦听器

事件调用回调函数
<mx:Button id="myButton" click="myFunction(event)"/>

事件侦听器

事件侦听器让一个对象(称作侦听对象)接收由其他对象(称广播对象)生成的事件。广播对象注册侦听对象以接收该广播器对象生成的事件。
首先使用addEventListener方法注册侦听对象:
侦听对象.addEventListener(type:String, listener:Function)
type 参数指出你要监听的事件类型,比如"enterFrame". 然而自己输入这些字符串容易出错,最好的办法就是调用Event类的静态成员属性:导入Event 类,调用addEventListener 方法:
addEventListener(Event.ENTER_FRAME, onEnterFrame);
第二个参数onEnterFrame,指向类中定义的回调函数(回调函数定义了对事件处理),该函数需要传递进EVENT的一个实例:
private function onEnterFrame(event:Event) {
    //处理事件的代码
}

下面是事件侦听器的例子
 1  <? xml version = " 1.0 "  encoding = " utf-8 " ?>
 2  <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="createListener();">
 3     <mx:Script>
 4         <![CDATA[
 5         
 6         import flash.events.MouseEvent;
 7         
 8         public function createListener():void {
 9             btnConvert.addEventListener(MouseEvent.CLICK, convertCurrency);
10         }
11     
12         public function convertCurrency(e:MouseEvent):void {
13             var rate:Number = 120;
14             var price:Number = Number(txtPrice.text);
15             if (isNaN(price)) {
16                     lblResults.text = "Please enter a valid price.";
17             } else {
18                 price = price * rate;
19                 lblResults.text = "Price in Yen: " + String(price);
20             }
21         }
22         ]]>
23     </mx:Script>
24 
25     <mx:Panel x="20" y="20" width="450" height="150" layout="absolute"
26         title="Currency Converter">
27         <mx:Label x="25" y="37" text="Price in Dollars"/>
28         <mx:Label x="120" y="65" id="lblResults"/>
29         <mx:TextInput x="120" y="35" id="txtPrice"/>
30         <mx:Button x="290" y="35" label="Convert to Yen" id="btnConvert" />
31     </mx:Panel>
32 </mx:Application>
按键btnConvert对象 在第9行注册了一个侦听器,该侦听器负责侦听鼠标单击事件,事件处理被定义在 convertCurrency()方法内。


111652.html

无衣 2007-04-23 19:36 发表评论
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值