由setFormatofRange调度的事件

时间:2010-07-29 13:41:17

标签: flex actionscript-3 textarea flex4 tlf

当我使用setFormatOfRange()更改文本格式时,我有一个文本区域,我想听听更改事件。到目前为止,我尝试过的所有其他事件,例如Event.CHANGE或TextOperationEvent.CHANGE,仅在实际文本发生更改时才会被调度。

任何人都知道我应该听什么?

2 个答案:

答案 0 :(得分:2)

实际上,当格式化更改时,您可以获得TextOperationEvent.CHANGE,但前提是您使用EditManager。 您应该创建一个EditManager对象并分配给TextArea.textFlow.interactionManager,并且您应该通过此EditManager对象执行所有格式化操作。它有像applyFormat这样的方法。

我不建议使用setFormatOfRange,因为它对于大量格式化操作来说非常慢。相反,您应该使用EditManager或ApplyFormatOperation对象。 here's a post in which is explained how to use ApplyFormatOperation objects

答案 1 :(得分:1)

TextArea(或任何其他文本控件)不会针对文本格式的更改触发任何事件。即使文本更改事件仅在用户手动更改文本时触发 - 而不是在以编程方式更改文本时触发。

  

TextOperationEvent类表示由于用户操作而导致文本内容发生更改时调度的事件,例如插入字符,退格,粘贴或更改文本属性。

相关问题