![]() |
Растягивающееся TextField
Пытаюсь сделать текстовое поле, которое при вводе текста самостоятельно растягивается по высоте (ширина задана жестко).
Но есть нюанс - хочу вводить не просто текст, а текст с тэгами HTML. Для этого применяю вот такой подход: Код AS3:
не могу понять, в чем причина и как этого избёгнуть ? =) UPD: трейс выдает вообще что-то ужасное =) каждый символ ставится в кучу тэгов типа <p>, <font> и тп По сути, мне нужно вставить новый текст между этими тэгами, но может как-то это можно сделать автоматически? |
Лучше всего использовать text и textFormat. А вообще, с изменением размеров текстового поля в момент ввода куча глюков. Можно попробовать для начала реализовать растягивание без форматирования, а там уж, если получится, и с ним.
|
У меня глюков нет никаких =) Возьмите код и попробуйте. Да и проблема-то не в том
Да, я согласен насчет text + textFormat, однако продолжаю упорствовать над htmlText =) |
Да? Значит я что-то делал не так :)
Автоматически – вряд ли... Скорее всего, придётся написать функцию преобразования позиции символа в обычном тексте в позицию в html-тексте, и с помощью неё вставлять введённый символ в html-текст. А сам html-текст хранить в дополнительной переменной, так как TextField изменяет значение своего свойства htmlText, дописывая туда всякие теги типа TEXTFORMAT. Хотя я не полностью в этом уверен, но вроде бы несколько раз сталкивался. С функцией преобразования проблем особых быть не должно, она должна просто пропускать все теги. Единственно что, могут быть небольшие сложности с <p>, <br> и пробелами между тегами, которые, насколько я помню, в некоторых случаях пропускаются. Это если писать компонент для произвольного html-текста. Если же чётко задать допускаемый формат html-разметки, то многое упрощается. Добавлено через 4 минуты И ещё немного не в тему) Мне кажется, лучше блок if в обработчике из вашего примера переписать так: Код AS3:
|
| Часовой пояс GMT +4, время: 18:23. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.