Я просто хочу, чтобы пользователь не вводил возврат каретки в TextArea.Я экспериментировал со свойством «restrict» в TextArea, но, похоже, не смог его решить.
У меня есть следующий код:
<mx:Canvas id="cvs1" label="Panel 1" width="100%" height="100%" creationComplete"addEvtListnerOnPlaceText()" backgroundColor="#FFFFFF">
<mx:TextArea id="txtP1T1" x="10" y="176" text="{placeName}" width="210" textAlign="center" color="#DC0000" restrict="this is where I need some help"/>
</mx:Canvas>
Я не уверен, что ограничениесвойство будет покрывать это или нет, но любая помощь будет высоко цениться.
Теперь мне удалось заставить что-то работать:
private function addEvtListnerOnPlaceText():void{
txtP1T1.addEventListener(KeyboardEvent.KEY_DOWN, onKeyEventDown);
txtP1T1.addEventListener(KeyboardEvent.KEY_UP, onKeyEventUp);
}
[Bindable]
public var tempString:String;
private function onKeyEventDown(e:KeyboardEvent):void
{
var character:String = String.fromCharCode(e.charCode);
if (e.keyCode == 13)
{
tempString = txtP1T1.text;
KeyboardEvent.KEY_UP;
}
}
private function onKeyEventUp(e:KeyboardEvent):void
{
var character:String = String.fromCharCode(e.charCode);
if (e.keyCode == 13)
{
txtP1T1.text = tempString;
}
}
Единственная проблема сейчас в том, что если вы удерживаете нажатой клавишу return, он очищает первый возврат каретки, а затем продолжает добавлять, пока вы удерживаете его.Мне нужен способ, чтобы это не происходило без потери внимания на текстовой области.