2010-09-10 72 views

回答

2

我的這種做法是爲的MouseEvent.MOUSE_DOWN和SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE事件偵聽器附加到systemManager的,像這樣:

systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); 
systemManager.getSandboxRoot().addEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, onMouseDown); 

這樣你收到此通知的任何鼠標按下事件,並可以檢查看看事件是否發生在你的RichEditableText組件內部。

希望有所幫助。

+0

謝謝,生病嘗試。 – Max 2010-09-16 13:46:21

0

我不知道你指的是星火RichEditableText組件或暈RichTextEditor但他們都分派FlexMouseEvent.MOUSE_DOWN_OUTSIDE事件。

如果有MXML你可以聽它想:

<mx:RichTextEditor id="myText" mouseDownOutside="mouseDownOutsideFunction(event)" />

或從ActionScript,如:

myText.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE,mouseDownOutsideFunction);

希望有所幫助。

+0

我試過,但如果RichEditableText將是一個彈出 – Max 2010-09-10 18:54:13

+0

啊我看「到使用PopUpManager當外界用戶點擊打開一個組件調度」裏面它纔會起作用。你在做什麼?也許有另一種方式。 – Ryan 2010-09-13 11:48:53

0

在搜索到類似的問題後,發現它已經很老了,但更多的是爲了別人的利益。

您可以在TextInput/RichEditableText上使用focusOut事件。在TextInput/RichEditableText之外的任何點擊都會觸發一個要發送的事件。

所以: -

<s:RichEditableText id="textInput" focusOut="textInput_focusOutHandler(event)" />