1
我有一个场景,我正在侦听对象的CLICK
和MouseDown
事件。如何在Flex中处理CLICK和MouseDown事件?
On MouseDown我做了startDrag()
。点击后,我会执行其他操作。
但问题是,MouseDown事件首先触发,并启动拖动。点击事件不会触发。我该如何解决这个问题?
我有一个场景,我正在侦听对象的CLICK
和MouseDown
事件。如何在Flex中处理CLICK和MouseDown事件?
On MouseDown我做了startDrag()
。点击后,我会执行其他操作。
但问题是,MouseDown事件首先触发,并启动拖动。点击事件不会触发。我该如何解决这个问题?
您可以侦听MouseDown事件,以及何时触发订阅MouseMove和MouseUp事件并记住MouseDown上的光标坐标。然后确定一个增量(比如1px),这将成为开始拖动的标志。因此,如果MouseMove调用您检查当前的鼠标位置,并确定用户是否真的在拖动(使用您的增量)。在这种情况下调用startDrag()
。在其他情况下,Click事件将被调用。
并记住取消订阅事件! :)
这是做到这一点的方法。我发布了一些代码,您可能会在其他问题的答案中找到有用的代码。 http://stackoverflow.com/questions/1563434/detect-mouse-leave-stage-while-dragging-in-actionscript-3/1691635#1691635 – 2011-04-18 13:13:39