对DragEvent.DRAG

    技术2022-05-20  39

    第一个实例:

     

    <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Script>     <![CDATA[         import mx.controls.Image;         import mx.core.UIComponent;         import mx.core.DragSource;         import mx.events.DragEvent;         import mx.managers.DragManager;                 private function init():void         {             canvas.addEventListener(DragEvent.DRAG_ENTER,dragEnterHandler);         }                 private function dragEnterHandler(event:DragEvent):void         {             //if(event.dragSource.hasFormat("box"))             {                 trace(event.dragSource.hasFormat("box"),"11111") //执行了很多次                 DragManager.acceptDragDrop(event.dragInitiator as UIComponent);             }         }                 private function dropHandler(event:DragEvent):void         {             trace(event.dragSource.hasFormat("box"))         }                 private function downHandler(event:MouseEvent):void         {             var box:Image = event.currentTarget as Image;             var ds:DragSource = new DragSource();             var obj:Object = new Object();             obj.name = "japja";                         DragManager.doDrag(box,ds,event);         }     ]]> </mx:Script>     <mx:Canvas id="canvas" backgroundColor="0xeeeeee" width="300" height="300"      dragDrop="dropHandler(event)">         <!--<mx:Box id="dragItem" width="20" height="20" backgroundColor="0x00ffcc"              mouseDown="downHandler(event)"/>-->              <mx:Image source="images/1.jpg" mouseDown="downHandler(event)"/>     </mx:Canvas> </mx:Application>

     

    第二个实例:

     

    <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Script>     <![CDATA[         import mx.core.UIComponent;         import mx.core.DragSource;         import mx.events.DragEvent;         import mx.controls.Image;         import mx.managers.DragManager;         private function init():void         {             cav1.addEventListener(DragEvent.DRAG_DROP,dropHandler);             cav1.addEventListener(DragEvent.DRAG_ENTER,enterHandler);         }                 private function dropHandler(event:DragEvent):void         {             if(event.dragSource.hasFormat("yao"))             {                 var img:Image = new Image();                 trace(event.dragInitiator)                 img.source = (event.dragInitiator as Image).source;                 img.x = event.localX;                 img.y = event.localY;                 cav1.addChild(img);             }         }                 private function enterHandler(event:DragEvent):void         {             trace("enter") //只执行了一次!             DragManager.acceptDragDrop(event.currentTarget as UIComponent);         }                 private function downHandler(event:MouseEvent):void         {             if(event.currentTarget is Image)             {                 var img:Image = new Image();                 img.source = event.target;                 trace(event.currentTarget)                                 var img:Image = event.currentTarget as Image;                 var ds:DragSource = new DragSource();                 var obj:Object = new Object();                 ds.addData(obj,"yao");                 DragManager.doDrag(img,ds,event);             }         }     ]]> </mx:Script>     <mx:Canvas id="cav1" width="600" height="100" mouseDown="downHandler" backgroundColor="0xffff00" x="400" y="100">         <mx:Image source="images/1.jpg" mouseDown="downHandler(event)"/>     </mx:Canvas>     <mx:Canvas id="cav2" width="600" height="100" backgroundColor="0xff00" x="400" y="300"/> </mx:Application>

     

    很诡异的问题,有时间再测试下。


    最新回复(0)