Удаление разрывов строк из вставленного текста в текстовой области Spark

#apache-flex #actionscript-3 #flex4 #tlf

#apache-flex #actionscript-3 #flex4 #tlf

Вопрос:

Я пытаюсь удалить все разрывы строк из текста, который вставлен в текстовую область Spark.

У меня есть: <s:TextArea id="inputSearchQuery"
width="100%" height="22"
minHeight="22" maxHeight="196"
changing="onInputSearchQueryChanging(event)"/>

И обработчик:

 private function onInputSearchQueryChanging(evt:TextOperationEvent = null):void {
    if (evt.operation is PasteOperation) {

    }
}
  

Где я могу найти текст, который вставил пользователь? Как я понимаю, этот текст должен быть в evt.operation.TextFlow, но это не так… Я в замешательстве.

Ответ №1:

Вставленный текст находится в (evt.operation as PasteOperation).textScrap . Таким образом, вы можете извлекать текст из textScrap.textFlow .

Комментарии:

1. Хммм… Используя пространство имен tlf_internal? Это не взлом? Нет ли более простого способа?

2. Это пространство имен не взломано. Это только для расширенного использования. Вы можете использовать его без каких-либо проблем.

3. Спасибо! Итак, для удаления разрывов строк мне нужно чередовать (evt.operation как PasteOperation).textScrap.TextFlow и не препятствовать evt? Я пытаюсь это: var tf:TextFlow = (evt.operation as PasteOperation).textScrap.textFlow; var p:ParagraphElement = new ParagraphElement(); var span:SpanElement = new SpanElement(); var t:String = tf.getText(); span.text = t.replace(/n/ig, ""); p.addChild(span); tf.replaceChildren(0, tf.numChildren, p); Но получаю исключение (