2010-09-10 95 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)" />