Actionscript 3 TextField()有时会保持粗体,即使使用setTextFormat()重置了HTML样式

Actionscript 3 TextField()有时会保持粗体,即使使用setTextFormat()重置了HTML样式,actionscript-3,flex3,Actionscript 3,Flex3,你知道为什么TextField()有时会保持粗体(即使使用setTextFormat()重置了格式)这样吗 myFormat.bold=false; defaultTextFormat =myFormat; defaultTextFormat.bold = false; setTextFormat(myFormat); htmlText("This text is bold even when it should not be.") PS:TextField是可编辑的,用户编辑时会出现问

你知道为什么TextField()有时会保持粗体(即使使用setTextFormat()重置了格式)这样吗

myFormat.bold=false;
defaultTextFormat =myFormat;  
defaultTextFormat.bold = false;
setTextFormat(myFormat);

htmlText("This text is bold even when it should not be.")
PS:TextField是可编辑的,用户编辑时会出现问题


更新:我想去掉所有格式,以避免不需要的粗体。TextField有一个错误,当用户将粗体字退格时,TextField中的所有内容都将永远粗体。

我认为使用TextField控件,您需要设置TextField.styleSheet来更改HTML样式。试着这样做:

var myText:TextField = new TextField();
var style:StyleSheet = new StyleSheet();
var fonts:String = "Helvetica Neue, Arial, _sans";
style = new StyleSheet();
style.setStyle(".body", {fontFamily:fonts, fontSize:"12", fontWeight:"normal", color:"#222222", textDecoration:"none"});
myText.styleSheet = style;
myText.htmlText = "this is bold even when should not";

您能详细说明一下“用户编辑时出现问题”是什么意思吗?这是否意味着删除粗体,但在用户开始编辑时重新应用粗体?或者用户输入的新文本仍然是粗体,尽管更改了defaultTextFormat?textfield的内容具有不同的样式/格式,但当用户退格到粗体字时,整个textfield变为粗体,无法将其恢复为不粗体。它永远保持着大胆。如何将其重置为非粗体?但如果同时使用html标记设置样式,为什么要使用“myFormat.bold”?事实上,如果你只使用html/css设置样式,flash可以无缝地处理用户交互。我实际上只使用html标记,但是当用户将一个带有粗体标记的单词退格时,整个文本字段将变为奇怪的粗体模式,我现在正试图摆脱上面代码行的粗体模式。