2010-02-04 83 views
1

这是参考My Other Question如何检测拖放操作结束?

如果拖放操作过早结束,如何检测和分派事件? 我需要知道用户不再拖动项目。即使dragDrop和dragComplete事件不会触发。它几乎就像我需要添加一个事件监听器到dragManager,但那不是真的可能......是吗?

回答

1

它看起来像基本上你需要能够告诉是否DragManager胡扯。即使在拖放系统中有一个错误事件(我没有看到过,但也许我错过了某些明显的事情),但您可能无法一直指望它。

有点像试图建立一个客户端来知道服务器何时死亡的事情,是吗?

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

而且,当然,一旦完成拖动 - 无论成熟还是过早 - 请移除mouseMove侦听器。

我真的不喜欢做这样的事情。为操作添加保姆。但我认为它会做需要做的事情,我不认为它应该是混乱的。

+0

你会添加鼠标移动侦听器吗?我遇到的问题在另一个问题中解释,所以如果你有另一个答案,那么我们就不必担心“保姆”了。 – invertedSpear 2010-02-04 22:32:24

+0

OK JONYC帮助我将事件附加到什么上面,这不是理想的方式,但它看起来像在工作。感谢您的帮助 – invertedSpear 2010-02-04 23:40:40

1

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

DragEvent.DRAG_EXIT 

否则,你可以使用一个舞台事件侦听器来侦听鼠标移出

stage.addEventListener(MouseEvent.MOUSE_OUT... 
+0

我希望我能接受你们两个。你将不得不解决upVote :) – invertedSpear 2010-02-04 23:32:10

0

dragComplete事件类型阻力引发剂。