我希望在flex中实现拖放功能。我已经能够使用拖动管理器
来做到这一点只有我的需求略有不同 - 我想要放置拖动对象的副本,而不是原始对象。关于如何实现这一目标的任何指导。
另外,我想为这个被删除的对象动态创建一个id来进行控制。感谢
答案 0 :(得分:3)
在dragDropHandler
调用event.preventDefault()
中 - 这将禁用默认删除逻辑,包括从源集合中删除对象并将其添加到目标集合。然后添加你的逻辑。
答案 1 :(得分:0)
您可以将所有拖动处理程序覆盖为:
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);
}