PDA

Просмотр полной версии : Настроить single line


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

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

alatar
02.01.2011, 17:52
Можно проверить последний введенный символ и откатить назад.

TanaTiX
02.01.2011, 17:56
alatar, тоже пробовал, но что-то конструкции типа
var regExp:RegExp = /\n/g;
message = message.replace(regExp,"");
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 непричем, этому косяку сто лет. Лечится примерно так:


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
this._textField.addEventListener(TextEvent.TEXT_INPUT, this.handler_textInput);

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

etc
04.01.2011, 21:34
Psycho Tiger, можно.