以下的例子展示如果在MXML或者AS中通过使用doubleClickEnabled属性来监听按钮的双击(doubleClick)事件。 '; } else { whichEl.style.display = 'none'; sb.innerHTML=' 显示代码'; whichEl.witdh="300px"; } } 隐藏代码 DE<<?xml version="1.0" encoding="utf-8"?><!-- http://blog.flexexamples.com/2007/12/11/creating-a-double-click-able-button-control-in-flex/ --><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white"> <mx:Script> <![CDATA[ private function button_click(evt:MouseEvent):void { appendText(evt.type); } private function button_doubleClick(evt:MouseEvent):void { appendText(evt.type); } private function appendText(str:String):void { var now:Date = new Date(); textArea.text += "[" + now.toTimeString() + "] " + str + "\n"; textArea.validateNow(); textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition; } ]]> </mx:Script> <mx:ApplicationControlBar dock="true"> <mx:Form styleName="plain"> <mx:FormItem label="doubleClickEnabled:"> <mx:CheckBox id="checkBox" selected="true" /> </mx:FormItem> <mx:FormItem> <mx:Button id="button" label="[double] click me" doubleClickEnabled="{checkBox.selected}" click="button_click(event);" doubleClick="button_doubleClick(event);" /> </mx:FormItem> </mx:Form> </mx:ApplicationControlBar> <mx:TextArea id="textArea" editable="false" width="50%" height="100%" /></mx:Application>DE< 当然你可以用AS来实现上述同样的功能: DE<<?xml version="1.0" encoding="utf-8"?><!-- http://blog.flexexamples.com/2007/12/11/creating-a-double-click-able-button-control-in-flex/ --><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white" creationComplete="init();"> <mx:Script> <![CDATA[ import mx.containers.ApplicationControlBar; import mx.containers.Form; import mx.containers.FormItem; import mx.controls.Button; import mx.controls.CheckBox; import mx.controls.TextArea; private var textArea:TextArea; private function init():void { // CheckBox var ch:CheckBox = new CheckBox(); ch.selected = true; // FormItem #1 (for CheckBox) var fi1:FormItem = new FormItem(); fi1.label = "doubleClickEnabled:"; fi1.addChild(ch); // Button var btn:Button = new Button(); btn.label = "[double] click me"; btn.doubleClickEnabled = true; btn.addEventListener(MouseEvent.CLICK, button_click); btn.addEventListener(MouseEvent.DOUBLE_CLICK, button_doubleClick); // FormItem #2 (for Button) var fi2:FormItem = new FormItem(); fi2.addChild(btn); // Form var f:Form = new Form(); f.styleName = "plain"; f.addChild(fi1); f.addChild(fi2); // ApplicationControlBar var appBar:ApplicationControlBar = new ApplicationControlBar(); appBar.dock = true; appBar.addChild(f); addChild(appBar); // TextArea textArea = new TextArea(); textArea.percentWidth = 50; textArea.percentHeight = 100; textArea.editable = false; addChild(textArea); } private function button_click(evt:MouseEvent):void { appendText(evt.type); } private function button_doubleClick(evt:MouseEvent):void { appendText(evt.type); } private function appendText(str:String):void { var now:Date = new Date(); textArea.text += "[" + now.toTimeString() + "] " + str + "\n"; textArea.validateNow(); textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition; } ]]> </mx:Script></mx:Application>DE< 查看Demo演示 原创作者: peterd。翻译整理:一路风尘