2011-04-18 38 views
1

我有一个场景,我正在侦听对象的CLICKMouseDown事件。如何在Flex中处理CLICK和MouseDown事件?

On MouseDown我做了startDrag()。点击后,我会执行其他操作。

但问题是,MouseDown事件首先触发,并启动拖动。点击事件不会触发。我该如何解决这个问题?

回答

2

您可以侦听MouseDown事件,以及何时触发订阅MouseMove和MouseUp事件并记住MouseDown上的光标坐标。然后确定一个增量(比如1px),这将成为开始拖动的标志。因此,如果MouseMove调用您检查当前的鼠标位置,并确定用户是否真的在拖动(使用您的增量)。在这种情况下调用startDrag()。在其他情况下,Click事件将被调用。

并记住取消订阅事件! :)

+0

这是做到这一点的方法。我发布了一些代码,您可能会在其他问题的答案中找到有用的代码。 http://stackoverflow.com/questions/1563434/detect-mouse-leave-stage-while-dragging-in-actionscript-3/1691635#1691635 – 2011-04-18 13:13:39

相关问题