閑云無衣
          無衣的筆記
          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 無衣 閱讀(1848) 評論(0)  編輯  收藏 所屬分類: Flex
           
          主站蜘蛛池模板: 遵化市| 克山县| 伊宁市| 贺州市| 宜宾市| 英超| 德保县| 佛坪县| 长垣县| 南皮县| 萝北县| 岱山县| 星子县| 瓦房店市| 荣成市| 革吉县| 格尔木市| 淳安县| 芜湖市| 闸北区| 博客| 钦州市| 台州市| 商南县| 固始县| 城市| 瓮安县| 宁远县| 柳林县| 东乡族自治县| 本溪市| 井研县| 桃园市| 额济纳旗| 康马县| 阳城县| 弋阳县| 桑植县| 十堰市| 济南市| 宝清县|