使用兩種方法為按鈕添加事件響應:直接為其添加click屬性;為整個程式添加事件監聽器。
Demo:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="createListener()">
<mx:Panel title="Currency Converter" x="20" y="20" width="450" height="150" layout="absolute">
<mx:Label text="Price in Dollars" x="25" y="37"/>
<mx:TextInput x="120" y="35" id="txtPrice"/>
<mx:Label x="120" y="65" id="labResult"/>
<!--Use click property to register events for button-->
<!--
<mx:Button label="Convert to Yen" x="290" y="35" id="btnConvert" click="ConvertCurrency()"/>
-->
<mx:Button label="Convert to Yen" x="290" y="35" id="btnConvert"/>
</mx:Panel>
<mx:Script>
<![CDATA[
/**//*Event function for click property of Button
public function ConvertCurrency():void{
var rate:Number=120;
var price:Number=Number(txtPrice.text);
if(isNaN(price))
{
labResult.text="Input a valid number!";
}else{
price=price*rate;
labResult.text="Price in Yen:"+String(price);
}
}
*/
public function createListener():void...{
btnConvert.addEventListener(MouseEvent.CLICK,ConvertCurrency);
}
public function ConvertCurrency(e:Event):void...{
var rate:Number=120;
var price:Number=Number(txtPrice.text);
if(isNaN(price))...{
labResult.text="Input a valid number!";
}else...{
price=price*rate;
labResult.text="Price in Yen:"+String(price);
}
}
]]>
</mx:Script>
</mx:Application>