限制文本以激发textarea可用大小

时间:2011-05-28 15:35:38

标签: text textarea limit

我正在尝试构建一个动态大小的spark textArea,它将可能的文本限制为其大小。

例如,textarea设置为width =“300”,height =“100”。现在,用户应该只能输入或粘贴组件中可见的文本。如果输入更多文本,我不希望textArea滚动或换行。

我尝试了各种方法,但都没有成功。

非常感谢帮助!

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但没有找到完美的解决方案。但我找到了解决这个问题的简单方法。

Spark TextArea具有IEditableText类型的textDisplay属性。默认情况下,会为此属性分配RichEditableText组件。此组件中有一个名为contentHeight的属性。我使用此属性来确定文本高度是否超过textArea高度。所以我的简单解决方案是这样的:

protected function textArea1_changeHandler(event:TextOperationEvent):void { 
       if (textArea1.textDisplay is RichEditableText){
             if ((textArea1.textDisplay as RichEditableText).contentHeight > textArea1.height){
                     textArea1.maxChars = textArea1.text.length;
              }
              else {
                     textArea1.maxChars = 0;
              }
       }
}

原因是,在应用程序中使用之前需要对其进行微调。但我想尽快发布解决方案:)我将发布所需的确切逻辑。但我认为你也可以自己做...

答案 1 :(得分:0)

对于Spark textArea,我在每次更改文本时都使用了它:

while(textArea.textFlow.flowComposer.numLines> textArea.heightInLines)      textArea.text = textArea.text.substr(0,textArea.text.length-1);