我有一个文本框,我希望每当一个人点击回车键 INSTEAD OF 添加额外的行时,就会执行空格键。我使用以下代码,但无济于事:
txtVerbs.addEventListener(KeyboardEvent.KEY_DOWN, enterkey);
function enterkey(event:KeyboardEvent):void{
if (event.keyCode == 13){event.keyCode == 32}}
答案 0 :(得分:-1)
试试这个:
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()
会阻止事件进一步传播,因此它会阻止任何其他KEY_DOWN
事件进一步发生,并且应该(至少从我记忆中)停止KEY_UP
也开火了。
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,在其他系统上只是\ n)并用空格替换