【发布时间】:2012-10-16 01:56:55
【问题描述】:
我进行了搜索,但无法找到它。我们有一个 maxChars="3900" 的 Spark TextArea。但是当复制/粘贴到文本区域时它不起作用。我试图将它添加到正在改变的处理程序中:
if (ta.text.length > 3900)
{
Alert.show("The maximum characters length is 3900. Please limit the characters to the max limit");
ta.text = ta.text.substr(0, 3900);
} else
{
if (event.operation is PasteOperation)
{
....//Other logic
}
}
问题是它并不总是有效。警报仅在超过 3900 个字符时才会显示。不知道为什么。我也将相同的内容添加到 changeHandler 中。但这根本不会被触发。
请告诉我我错过了什么。每次超过最大限制时,我都需要显示警报并将字符修剪到最大值。
谢谢
哈里什
【问题讨论】:
-
它不工作怎么办?您是否收到错误消息?或意外行为?请提供详细信息。
-
我有一个文本计数为 1600 的 word 文档。我复制/粘贴了 3 次,但没有触发警报。然后,当我尝试复制 textArea 中的文本时,它决定显示警报并修剪文本!奇怪!
-
我仍然不清楚问题是什么。听起来一切都如您所愿?
-
在您的处理程序方法中,在 if 块之前,尝试跟踪您的文本字符串长度。
-
@DavidLiGuoliang 我试过了。我认为问题是当我第一次粘贴一块 1600 个字符时,它显示 textArea.length = 0。当我第二次粘贴相同的块时,现在它显示为长度 = 1600(实际上是 3200)。所以这就是为什么当大小 > 3900 时它不会发出警报。关于为什么会发生这种情况的任何想法?
标签: apache-flex textarea max flex-spark