2011-04-18 37 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

相關問題