Actionscript 3 将ENTER键重定向到其他命令(AS3)

Actionscript 3 将ENTER键重定向到其他命令(AS3),actionscript-3,keycode,Actionscript 3,Keycode,我有一个文本框,我希望在每次有人点击回车键时执行空格键,而不是添加额外的一行。我正在使用以下代码,但无效: txtVerbs.addEventListener(KeyboardEvent.KEY_DOWN, enterkey); function enterkey(event:KeyboardEvent):void{ if (event.keyCode == 13){event.keyCode == 32}} 试试这个: txtVerbs.addEventListener(Keyboa

我有一个文本框,我希望在每次有人点击回车键时执行空格键,而不是添加额外的一行。我正在使用以下代码,但无效:

txtVerbs.addEventListener(KeyboardEvent.KEY_DOWN, enterkey);
function enterkey(event:KeyboardEvent):void{
    if (event.keyCode == 13){event.keyCode == 32}}
试试这个:

txtVerbs.addEventListener(KeyboardEvent.KEY_DOWN, enterkey);
function enterkey(event:KeyboardEvent):void{
    if (event.keyCode == Keyboard.ENTER){ // you should use the Keyboard constants instead of the hard value
        event.preventDefault();
        event.stopImmediatePropagation();
        txtVerbs.text += ' ';
    }
}
stopImmediatePropagation阻止事件进一步传播,因此它将阻止任何其他按键按下事件进一步向下移动,并且至少从我记忆中的情况来看,它将阻止按键向上触发

preventDefault取消事件的默认行为(如果可以取消)。如果内存可用,则按下的键可取消。但是,如果不是这样,您也可以使用RegEx替换

txtVerbs.addEventListener(KeyboardEvent.KEY_UP, enterkey);
function enterkey(event:KeyboardEvent):void{
    if (event.keyCode == Keyboard.ENTER){ // you should use the Keyboard constants instead of the hard value
        txtVerbs.text = txtVerbs.text.replace(/\r?\n/gm, ' ');
    }
}

这应该与某些系统上的换行符\r\n和其他系统上的换行符\r\n匹配,并用空格替换它

谢谢您的详细回答和解释,Josh。但是,这两种方法似乎都不起作用,而且输出中没有关于代码的错误。我也试着取代“停止即时建议”;用stopPropagation,但那没什么区别。