Flex 3 setSelection 与 htmlText

发布于 2024-10-25 02:56:43 字数 330 浏览 1 评论 0原文

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

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

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

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

请帮忙!

安德鲁

In Adobe Flex 3, this causes problems.

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

This puts the cursor in the wrong place, because indexOf takes into account the HTML tags, but setSelection does not.

Anyone know how to do this? A simple way is a /<[^>]*>/g regular expression, but this doesn't do the job every time.

Help please!

Andrew

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

﹎☆浅夏丿初晴 2024-11-01 02:56:43

试试这个:

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

Try this instead:

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

By using the 'text' property instead of 'htmlText', you're removing the html tags. Also, I wouldn't use 2 index searches, it's not efficient. Try this:

var string:String = 'testString';
var index:int = textArea.text.indexOf(string);
textArea.setSelection(index, index + string.length);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文