使用htmlText进行Flex 3 setSelection

时间:2011-03-21 17:29:09

标签: flex actionscript htmltext

在Adobe Flex 3中,这会导致问题。

textArea.setSelection( textArea.htmlText.indexOf( 'testString' ), textArea.htmlText.indexOf( 'testString' ) + 10 );

这会将光标置于错误的位置,因为indexOf会考虑HTML标记,但setSelection不会。

任何人都知道如何做到这一点?一个简单的方法是/< [^>] *> / g正则表达式,但这并不是每次都能完成这项工作。

请帮忙!

安德鲁

1 个答案:

答案 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);