閑云無衣
          無衣的筆記
          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()方法內。


          posted on 2007-04-23 19:36 無衣 閱讀(1845) 評論(0)  編輯  收藏 所屬分類: Flex
           
          主站蜘蛛池模板: 穆棱市| 象山县| 莲花县| 桐柏县| 永兴县| 错那县| 青川县| 靖边县| 邮箱| 宜良县| 永仁县| 雷州市| 鄱阳县| 喀喇沁旗| 西乌| 洞口县| 济宁市| 镇原县| 莱阳市| 宝坻区| 永州市| 内丘县| 湘乡市| 澎湖县| 德阳市| 鄂伦春自治旗| 长子县| 商丘市| 龙里县| 砚山县| 娱乐| 和静县| 邯郸县| 巴彦县| 科技| 镇原县| 乐昌市| 陆河县| 罗田县| 平江县| 岳阳县|