AS3:在textField中呈现纯文本

时间:2012-12-27 19:05:07

标签: actionscript-3 flex actionscript flex3 textfield

textField的当前行为是将所有文本呈现为HTML。有没有办法告诉系统这是纯文本,即使它看起来像html?

在AS2中有一个.html属性,我可以将其设置为false以获得此行为,它似乎消失了。

我很清楚我可以通过html转义输入以获得所需的行为,但我正在寻找最干净/最简单的解决方案。 (而且似乎我必须编写自己的html-escape函数......)

1 个答案:

答案 0 :(得分:4)

AS3文本字段有两个属性texthtmlTexttext属性可用于显示纯文本,即使它看起来像html。这两个属性由Flash自动链接,因此编辑text将更新htmlText,反之亦然。

您应该可以使用text属性来实现目标。不幸的是,如果您在文本字段中使用样式表,则两个属性都将被视为HTML。在这种情况下,您有两个选择。您可以使用简单的TextFormat对象在没有样式表的情况下执行样式,如果样式表不太复杂,这可能很简单。如果您确实需要使用样式表,则可以利用两个文本属性之间的AS3链接来自动转义文本。

例如,如果您想要更新名为tf的文本字段,该字段使用样式表,但您想要纯文本,则可以这样做:

var temp:TextField = new TextField();
temp.text = plainText;
tf.text = temp.htmlText;

临时文本字段将自动生成转义的HTML,然后您可以在实际的文本字段中使用它。