textField的当前行为是将所有文本呈现为HTML。有没有办法告诉系统这是纯文本,即使它看起来像html?
在AS2中有一个.html
属性,我可以将其设置为false以获得此行为,它似乎消失了。
我很清楚我可以通过html转义输入以获得所需的行为,但我正在寻找最干净/最简单的解决方案。 (而且似乎我必须编写自己的html-escape函数......)
答案 0 :(得分:4)
AS3文本字段有两个属性text
和htmlText
。 text
属性可用于显示纯文本,即使它看起来像html。这两个属性由Flash自动链接,因此编辑text
将更新htmlText
,反之亦然。
您应该可以使用text
属性来实现目标。不幸的是,如果您在文本字段中使用样式表,则两个属性都将被视为HTML。在这种情况下,您有两个选择。您可以使用简单的TextFormat对象在没有样式表的情况下执行样式,如果样式表不太复杂,这可能很简单。如果您确实需要使用样式表,则可以利用两个文本属性之间的AS3链接来自动转义文本。
例如,如果您想要更新名为tf
的文本字段,该字段使用样式表,但您想要纯文本,则可以这样做:
var temp:TextField = new TextField();
temp.text = plainText;
tf.text = temp.htmlText;
临时文本字段将自动生成转义的HTML,然后您可以在实际的文本字段中使用它。