2
我期待在flex中实现拖放功能。我已经能够做到这一点通过拖动管理仅拖放复制vs移动
只有我需要的是稍微不同 - 我想拖动对象的副本放置,而不是原来的对象。任何指导如何使这成为可能。
另外,我想为这个被放置的对象进行动态创建。谢谢
我期待在flex中实现拖放功能。我已经能够做到这一点通过拖动管理仅拖放复制vs移动
只有我需要的是稍微不同 - 我想拖动对象的副本放置,而不是原来的对象。任何指导如何使这成为可能。
另外,我想为这个被放置的对象进行动态创建。谢谢
在dragDropHandler
调用event.preventDefault()
- 这将禁用默认放弃逻辑,包括从源集合中删除对象并将其添加到目标集合。然后添加你的逻辑。
您可以覆盖所有拖动处理程序为:
override protected function dragEnterHandler(event:DragEvent):void{
if(event.action == DragManager.MOVE)
event.action=DragManager.COPY;
super.dragEnterHandler(event);
}
override protected function dragCompleteHandler(event:DragEvent):void{
if(event.action == DragManager.MOVE)
event.action=DragManager.COPY;
super.dragCompleteHandler(event);
}
override protected function dragDropHandler(event:DragEvent):void{
if(event.action == DragManager.MOVE)
event.action=DragManager.COPY;
super.dragDropHandler(event);
}
override protected function dragExitHandler(event:DragEvent):void{
if(event.action == DragManager.MOVE)
event.action=DragManager.COPY;
super.dragExitHandler(event);
}
override protected function dragOverHandler(event:DragEvent):void{
if(event.action == DragManager.MOVE)
event.action=DragManager.COPY;
super.dragOverHandler(event);
}
override protected function dragStartHandler(event:DragEvent):void{
if(event.action == DragManager.MOVE)
event.action=DragManager.COPY;
super.dragStartHandler(event);
}