Flex 4:检测RichEditableText外部的点击

时间:2010-09-10 18:07:55

标签: flex actionscript-3 flex4

有没有简单的方法来检测RichTextEditable外的点击?就像在弹出窗口中使用FlexMouseEvent.MOUSE_DOWN_OUTSIDE一样。

由于

3 个答案:

答案 0 :(得分: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组件内部。

希望有所帮助。

答案 1 :(得分:0)

我不确定您是指Spark RichEditableText组件还是Halo RichTextEditor,但他们都会发送FlexMouseEvent.MOUSE_DOWN_OUTSIDE事件。

如果您有MXML,可以像以下一样收听:

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

或来自ActionScript,如:

myText.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE,mouseDownOutsideFunction);

希望有所帮助。

答案 2 :(得分:0)

在寻找类似的问题之后遇到这个问题,意识到它已经过时了,但更多的是为了别人的利益。

您可以在TextInput / RichEditableText上使用focusOut事件。在TextInput / RichEditableText之外的任何单击都将触发要调度的事件。

所以: -

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