Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Настроить single line (http://www.flasher.ru/forum/showthread.php?t=148470)

TanaTiX 02.01.2011 17:33

Настроить single line
 
cs5, в нем нарисованное input-текстовое поле с установленным behavior single line
Все работает правильно за исключением момента, когда нажимается Ctrl+Enter - происходит перенос строки, в результате получаем multiline. Как этого избежать? Заранее спасибо.

ЗЫ. Вопрос может показаться глупым, но тем не менее поиски результата не дали :(

alatar 02.01.2011 17:52

Можно проверить последний введенный символ и откатить назад.

TanaTiX 02.01.2011 17:56

alatar, тоже пробовал, но что-то конструкции типа
Код AS3:

var regExp:RegExp = /\n/g;
message = message.replace(regExp,"");

Код AS3:

trace(str.indexOf("\n"));

не дают результатов :(
Наверное где-то накосячил, но не могу сообразить где :(

alatar 02.01.2011 18:02

помимо "\n", есть еще "\r"

samana 02.01.2011 18:12

Странно, но у меня строка не переносится при ctrl+Enter.

TanaTiX 02.01.2011 18:48

Странная хреновина получается. Запустил StandAlone - прилоржение как-то вообще не так работать стало (хорошо что этим плеером и не должно проигрываться), открыл в браузере - все как описал samana
Так что не знаю даже, раскрыта ли тема... :)

samana 02.01.2011 18:51

Это не первый глюк в cs5, который я слышу, похоже что-то в нем не очень хорошо.

etc 03.01.2011 16:52

CS5 непричем, этому косяку сто лет. Лечится примерно так:

Код AS3:

                        this._textField.addEventListener(TextEvent.TEXT_INPUT, this.handler_textInput);
 
...
                /**
                * @private
                */

                private function handler_textInput(event:TextEvent):void {
                        var text:String = event.text;
 
                        if (!this._textField.multiline && (text.indexOf('\n') >= 0 || text.indexOf('\r') >= 0)) {
                                event.preventDefault();
                                event.stopImmediatePropagation();
                        }
                }


Psycho Tiger 04.01.2011 14:48

Код AS3:

this._textField.addEventListener(TextEvent.TEXT_INPUT, this.handler_textInput);

Не мешало бы приоритет ещё в int.MAX_VALUE выкрутить =)

etc 04.01.2011 21:34

Psycho Tiger, можно.


Часовой пояс GMT +4, время: 12:14.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.