如何检测在Actionscript 3中是否按下了删除键?

时间:2009-10-09 00:31:14

标签: actionscript-3 events keyboard flash-cs4

如何使用actionscript确定是否按下了删除键?

addEventListener(KeyboardEvent.KEY_UP, onKeyUp);

...

function onKeyUp(event:KeyboardEvent):void
{
    trace(event.keyCode);
}

当按下delete,backspace,enter和其他命令键时,上面的代码不会产生任何值。但是,箭头键执行会产生值。

4 个答案:

答案 0 :(得分:8)

this.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);
....

function onKeyPressed(event:KeyboardEvent):void
{
   if (event.keyCode==Keyboard.DELETE) {
       .....
       }

}

它的工作很好...... 但是如果你从Flash测试电影,它将无法工作,所以导出到swf并测试....

答案 1 :(得分:2)

只是猜测你正在使用TEXT_INPUT事件,这不适用于删除和退格。要捕获那些,您可以在舞台上添加一个eventListener并收听KeyboardEvent

答案 2 :(得分:1)

如果您附加侦听器的显示对象处于焦点,则代码将正常工作。对于全球倾听,正如Theo所说,你必须将听众附加到stage。从尚未添加到显示列表的对象访问stage将导致空错误。在ADDED_TO_STAGE事件处理程序中执行此操作是安全的。

答案 3 :(得分:1)

旧线程,但如果有人这么做:在IDE内部的Flash Player中,这些键与快捷方式相关联。当您测试电影时,请选择控制>禁用播放器中的键盘快捷键,然后您将恢复活动。