我正在尝试使用事件 keyDown 在富文本编辑器中添加选项卡键功能。为了清楚起见,在制表键上,我需要控件保持在同一个文本框中,前面有 '\t' 空格,而不是跳到下一个对象。我尝试的以下代码与 textArea 完美配合,但不适用于 RichTextEditor。我错过了什么吗?
<mx:RichTextEditor width="90%"
height="274"
id="richTextArea"
htmlText="{chapterContent}" keyDown="onTabPress(event);"/>
然后在脚本级别处理键盘 Tab 键,如图所示。
private function onTabPress(eventkey:KeyboardEvent):void
{
switch(eventkey.keyCode)
{
case Keyboard.TAB:
var indexBegin:int = eventkey.currentTarget.selectionBeginIndex;
var range:TextRange = new TextRange(eventkey.currentTarget as UIComponent,false,indexBegin,indexBegin);
range.text = "\t";
var indexNext:int = eventkey.currentTarget.selectionBeginIndex+range.text.length;
eventkey.currentTarget.setSelection(indexNext, indexNext);
focusManager.moveFocus(FocusRequestDirection.BACKWARD);
break;
}
}
感谢所有的帮助。