0

在 Adob​​e Flex 3 中,这会导致问题。

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

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

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

请帮忙!

安德鲁

4

1 回答 1

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);
于 2011-03-21T20:04:36.413 回答