-1

イベント keyDown を使用して、リッチ テキスト エディターにタブ キー機能を追加しようとしています。明確にするために、タブキーでは、コントロールを同じテキストボックスに残し、「\ t」スペースを先に置き、次のオブジェクトにスキップしないようにする必要があります。私が試した次のコードは、textArea では完全に機能しますが、RichTextEditor では機能しません。何か不足していますか?

<mx:RichTextEditor width="90%"
                   height="274"
                   id="richTextArea"
                   htmlText="{chapterContent}" keyDown="onTabPress(event);"/>

キーボードのタブ キーは、次に示すようにスクリプト レベルで処理されます。

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;
    }
}

すべての助けをありがとう。

4

2 に答える 2