在Adobe Flex 3中,这会导致问题。
textArea.setSelection( textArea.htmlText.indexOf( 'testString' ), textArea.htmlText.indexOf( 'testString' ) + 10 );
这会将光标置于错误的位置,因为indexOf会考虑HTML标记,但setSelection不会。
任何人都知道如何做到这一点?一个简单的方法是/< [^>] *> / g正则表达式,但这并不是每次都能完成这项工作。
请帮忙!
安德鲁
答案 0 :(得分:0)
请改为尝试:
textArea.setSelection( textArea.text.indexOf( 'testString' ), textArea.text.indexOf( 'testString' ) + 10 );
通过使用'text'属性而不是'htmlText',您将删除html标记。另外,我不会使用2个索引搜索,但效率不高。试试这个:
var string:String = 'testString';
var index:int = textArea.text.indexOf(string);
textArea.setSelection(index, index + string.length);