Flex中如何利用mouseDown与stopImmediatePropagation事件创建可拖动(draggable)与不可拖动(undraggable)对话框的例子

By Minidxer | March 22, 2008

接下来的例子演示了如何通过监听mouseDown事件与stopImmediatePropagation()事件,创建不可拖动的Alert对话框与可拖动的Alert对话框。

下面是完整代码:


Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.  
  7.     <mx:Script>
  8.         <![CDATA[
  9.             import mx.controls.Alert;
  10.  
  11.             private function draggableAlert():void {
  12.                 Alert.show("Drag me!");
  13.             }
  14.  
  15.             private function undraggableAlert():void {
  16.                 var alert:Alert = Alert.show("Drag me!");
  17.                 alert.addEventListener(MouseEvent.MOUSE_DOWN, alert_mouseDown, true);
  18.             }
  19.  
  20.             private function alert_mouseDown(evt:MouseEvent):void {
  21.                 evt.stopImmediatePropagation();
  22.             }
  23.         ]]>
  24.     </mx:Script>
  25.  
  26.     <mx:ApplicationControlBar dock="true">
  27.         <mx:Button label="Draggable Alert"
  28.                 click="draggableAlert();" />
  29.         <mx:Button label="Undraggable Alert"
  30.                 click="undraggableAlert();" />
  31.     </mx:ApplicationControlBar>
  32.  
  33. </mx:Application>
下面是Demo(可以右键或点击这里察看源代码):

原文作者:Peter deHaan 翻译:minidxer

Topics: Flex | 2 Comments » | Tags: , , , , , ,

Search Posts