Actionscript 3 AS3中的组合框“吃”最后一个字母
我对flash组件组合框有问题。当我习惯于在组合框中保存一个名字时,它总是没有最后一个字母 代码如下:Actionscript 3 AS3中的组合框“吃”最后一个字母,actionscript-3,flash,Actionscript 3,Flash,我对flash组件组合框有问题。当我习惯于在组合框中保存一个名字时,它总是没有最后一个字母 代码如下: var input_name:String; text_field.addEventListener (TextEvent.TEXT_INPUT, text_input); button.addEventListener (MouseEvent.CLICK, save); function save (e:MouseEvent):void {
var input_name:String;
text_field.addEventListener (TextEvent.TEXT_INPUT, text_input);
button.addEventListener (MouseEvent.CLICK, save);
function save (e:MouseEvent):void
{
text_field.visible = true;
text_field.adddEventListener(KeyboardEvent.KEY_DOWN, save_text);
}
function text_input(e:TextEvent):void
{
input_name = text_field.text;
}
function save_text(e:KeyboardEvent):void
{
var keyPressed:String = e.keyCode.toString();
if (keyPressed == "13")
{
combo.addItem({label:input_name, data:input_name});
}
}
所以,当我在文本字段中输入'foo'并按enter键时,它只保存在组合框中的'fo'
答案的Thx:TextEvent.TEXT\u在值更改之前发送输入
值更改后将调度Event.CHANGE
这将起作用,包括处理回车键
抱歉,这是您正在查找的事件更改。
import flash.events.MouseEvent;
import flash.events.Event;
var input_name:String;
text_field.addEventListener(Event.CHANGE, text_input);
text_field.addEventListener("enter", save);
button.addEventListener(MouseEvent.CLICK, save);
function text_input(e:Event):void
{
input_name = text_field.text;
}
function save(e:*):void
{
text_field.visible = true;
combo.addItem({label:input_name, data:input_name});
}