|
|
|||||
Регистрация: May 2013
Сообщений: 26
|
Termin, спасибо, учту.
Idon'tKnow, спасибо большое, работает. |
|
|||||
Регистрация: Nov 2010
Сообщений: 497
|
Idon'tKnow, оно позволяет через ctrl-v и прочие аналоги вставки добавить гораздо больше (добавление атомарное). Поэтому нужно учитывать размер текущего выделения и размер вставляемого текста. А лучше все-таки использовать defaultTextFormat и предоставить полю самому за maxChars следить.
|
|
|||||
Регистрация: Apr 2013
Сообщений: 77
|
Теперь не даёт.
private function infoText1InputListener (e:TextEvent):void { if (infoText1.length + e.text.length < infoText1.maxChars) { var infoText1:TextField = TextField (e.target); e.preventDefault(); infoText1.replaceText(infoText1.caretIndex, infoText1.caretIndex, e.text); var regularFormat:TextFormat = new TextFormat(); regularFormat.font = "Tahoma"; regularFormat.size = 20; regularFormat.color = 0x666666; infoText1.setTextFormat(regularFormat, infoText1.caretIndex, infoText1.caretIndex + e.text.length); var newCaretIndex:int = e.currentTarget.length; infoText1.setSelection(newCaretIndex, newCaretIndex); }else { trace("Текст больше максимально допустимой длины!"); // Правда тут стиль придется вставлять, т.к он не вставляется, если 1 символ до вставки сообщения бОльшей, чем допустимая длина, вставить. } } Последний раз редактировалось Idon'tKnow; 01.06.2013 в 01:57. |
|
|||||
Регистрация: May 2013
Сообщений: 26
|
в первом случает дает, если ввести на один символ меньше и с помощью вставки (ctrl+v) вставить к примеру 2 символа.
во втором случаем выдало ошибку. |
|
|||||
Регистрация: Apr 2013
Сообщений: 77
|
У меня всё отлично работает, maxChars = 5, я ввожу 1234 , ctrl+c (56) , ctrl+v = 12345.
P.S. maxChars должен быть равен максимально разрешимому кол-ву символов, а не максимально разрешимому кол-ву символов +1 ... P.S.S Поставьте поменьше символов, например, 5 и потестите. У меня всё исправно работает. |
Часовой пояс GMT +4, время: 06:39. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|