自定义事件无效
看了网上的方法,照着做,可是不行,完全看不出问题在哪,高手指教。
DataChangeEvents.as
package events{ import flash.events.Event; public class DataChangeEvent extends Event { public function DataChangeEvent() { super("DataChangeEvent"); } }}
<?xml version = "1.0" encoding = "utf-8"?><mx:Canvas xmlns:mx = "http://www.adobe.com/2006/mxml" width = "400" height = "300"> <mx:Script> <![CDATA[ import events.DataChangeEvent; public function clickHandler(evt:MouseEvent):void { trace("create and dispatch DataChangeEvent"); dispatchEvent(new DataChangeEvent()); } ]]> </mx:Script> <mx:Metadata> [Event(name="DataChange", type="events.DataChangeEvent")] </mx:Metadata> <mx:LinkButton x = "136" y = "101" label = "Click Me" click = "clickHandler(event)"/></mx:Canvas>
<?xml version = "1.0" encoding = "utf-8"?><mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml" layout = "absolute" xmlns:com = "components.*"> <mx:Script> <![CDATA[ import events.DataChangeEvent; public function dataChangeHandler(evt:DataChangeEvent):void { trace("dataChangeHandler: " + evt.toString()); } ]]> </mx:Script> <com:show DataChange = "dataChangeHandler(event)" click = "trace('clicked');"> </com:show></mx:Application>