谁能告诉我如何检查 mx textinput 控件中的文本是否被选中。我有一些控件,如 mx textinput、mx textara 和richtexteditor。选择来自当用户拖动它或双击任何控件时选择突出显示当时我想知道选择了哪个控件。我已经看到了在 stackoverflow 中发布的 spark textinput 的解决方案 How to access selected text in a Flex TextInput 控件 ,但我想要 mx 组件。请告诉我如何知道为 textinput、textarea 和richtexteditor 控件选择了哪个控件文本。谢谢
问问题
1167 次
1 回答
1
对于TextInput
和TextArea
:
// to check for any selected text:
var hasSelection:Boolean = (component.selectionBeginIndex!=component.selectionEndIndex);
// to get the selected text:
var selection:String = component.text.substring(component.selectionBeginIndex,component.selectionEndIndex);
对于RichTextEditor
:
// to check for any selected text:
var hasSelection:Boolean = (component.selection.beginIndex!=component.selection.endIndex);
// to get the selected text:
var selection:String = component.selection.text;
这将检查组件是否有任何选定的文本,但不检查组件是否被选中;即使组件失去焦点,文本选择也会保持不变。检查组件是否真正具有焦点的简单方法是在组件focusIn
和focusOut
事件中设置一个布尔标志。您还可以取消选择事件中的文本focusOut
:
component.selectionEndIndex = 0; // clear selection
于 2012-06-06T20:51:45.913 回答