flex4事件2_在标签中应用事件
在标签中应用事件,也就是与我们平常在标签中添加事件一样,不用写代码addEventListener,而是直接写,像click
第一步是创建事件 继承Event,定义事件常量
第二步是在决定应用标签上加事件的自定义类上,进行声明如:
<fx:Script><![CDATA[import com.obj.MyCustomEvent;import com.obj.UserLogin;import mx.controls.Alert;private function init(): void {VeriCodeLab.text = generVeriCode();}private function generVeriCode():String{return "1234";}internal function login(evt:MouseEvent):void {var userLogin:UserLogin = new UserLogin(logTxt.text, passTxt.text, sysInfoArea.text);var myTestEvent:MyCustomEvent = new MyCustomEvent(userLogin,MyCustomEvent.TESTMYEVENT);this.dispatchEvent(myTestEvent); //自定义事件加到事件流}]]></fx:Script><fx:Metadata>//声明事件注册通道的方法。name是事件对应的名称,也就是type。name一定要和事件类中的名称一致[Event(name="testMyEvent", type="com.obj.MyCustomEvent")]</fx:Metadata>?
?
第三部就可以直接在标签中写了,并自动出提示,如
??? <mx:Panel x="34" y="22" width="656" height="429" layout="absolute" id="mainMenu" backgroundColor="#DD9C9C" title="自定义事件">
??? ??? <myComponents:SysLoginWin x="10" y="37" backgroundColor="#7C5439" backgroundAlpha="0.5" testMyEvent="loginHandler(event)">
??? ??? </myComponents:SysLoginWin>
??? </mx:Panel>