如何检测拖放操作是否已结束?

时间:2010-02-04 18:14:22

标签: flex actionscript-3 actionscript flex3

这是参考My Other Question

当拖放操作过早结束时,如何检测和发送事件? 我需要知道用户不再拖动项目。即使dragDrop和dragComplete事件没有激发。它几乎就像我需要向dragManager添加一个事件监听器,但这不可能......是吗?

3 个答案:

答案 0 :(得分:1)

看起来基本上你需要能够判断出DragManager是否会崩溃。即使拖放系统中存在ERROR事件(我没有看过,但也许我错过了一些明显的事情),你可能不会总是指望它。

有点像尝试设置客户端以了解服务器何时死亡的事情,是吗?

我可能会离开,但我想你可以在开始拖动时添加一个mouseMove监听器并不断检查你是否还在拖动。我相信你可以动态设置mouseMove事件触发的频率。

当然,一旦你完成拖动 - 无论是成熟还是过早 - 删除mouseMove监听器。

我真的不为做这样的事情而疯狂。在手术中添加保姆。但我认为它会做需要做的事情,而且我认为它不一定是混乱的。

答案 1 :(得分:1)

对于Flash Builder 4,请尝试使用:

DragEvent.DRAG_EXIT

否则,您可以使用舞台事件侦听器来侦听鼠标

stage.addEventListener(MouseEvent.MOUSE_OUT...

答案 2 :(得分:0)

收听 dragComplete 事件类型的拖动启动器。