解决方法
当然可以这样做:
<mx:Script> <![CDATA[ import mx.controls.Alert; private function btn_click(event:MouseEvent):void { Alert.show("Clicked!"); } private function btn_keyDown(event:KeyboardEvent):void { if (event.keyCode == Keyboard.ENTER) btn.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } ]]> </mx:Script> <mx:Button id="btn" label="Click Me" click="btn_click(event)" keyDown="btn_keyDown(event)" />
…虽然我不是在这些对象之外的对象调度事件的巨大粉丝.一个更干净的方法可能是将子类化到子类中,在子类中添加侦听器和处理程序,然后从该类中分派click事件.但这应该有助于说明这一点.祝你好运!