2009-09-15 53 views
1

在Flex 3中,我有一個ItemRenderer,它有一個按鈕。我希望用戶能夠點擊並拖動此Renderer,但也只需單擊按鈕即可。MouseDown/MouseMove/Click彈出拖放的問題

現在,它正在與監聽「MouseMove」的Renderer進行拖放操作,以及監聽「click」按鈕。

然而,這是非常棘手的。如果有人正在拖動滾動條併到達該渲染器附近的任何位置,則MouseMove會在渲染器上觸發並啓動拖動。 (或者如果有人是在調整一HDividedBox類,基本上如果有人在應用和軋此渲染髮起點擊任何地方,我們得到不想要拖動。

另一種方法是對的MouseDown代替的MouseMove,修復以前的問題聽然而嵌套按鈕失去它的點擊。我可以點擊按鈕,但渲染只是認爲它的時間來拖動。

反正是有解決這個?

回答

2

一種快速,簡便的方法來處理是通過讓按鈕監聽MouseDown,並通過在事件監聽器中調用event.stopPropagation()來防止事件冒泡到Renderer。

+0

謝謝,看起來它會工作得很好。 – markmarkoh 2009-09-16 23:44:18