Actionscript 3 如何检测是否在Actionscript 3中按下了delete键?
如何确定是否使用actionscript按下了delete键Actionscript 3 如何检测是否在Actionscript 3中按下了delete键?,actionscript-3,events,keyboard,flash-cs4,Actionscript 3,Events,Keyboard,Flash Cs4,如何确定是否使用actionscript按下了delete键 addEventListener(KeyboardEvent.KEY_UP, onKeyUp); ... function onKeyUp(event:KeyboardEvent):void { trace(event.keyCode); } 按delete、backspace、enter和其他命令键时,上述代码不会产生任何值。但是,箭头键确实会产生值。仅猜测您正在使用文本输入事件,这对删除和退格不起作用。要捕捉这些事件
addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
...
function onKeyUp(event:KeyboardEvent):void
{
trace(event.keyCode);
}
按delete、backspace、enter和其他命令键时,上述代码不会产生任何值。但是,箭头键确实会产生值。仅猜测您正在使用文本输入事件,这对删除和退格不起作用。要捕捉这些事件,您可以在舞台上添加一个eventListener,并收听
键盘事件
如果附加到侦听器的显示对象处于焦点位置,则代码将正常工作。对于全局监听,正如西奥所说,您必须将侦听器连接到阶段
。从尚未添加到显示列表的对象访问stage
,将导致空错误。为了安全起见,请在添加的\u TO \u阶段事件处理程序中执行此操作
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);
....
function onKeyPressed(event:KeyboardEvent):void
{
if (event.keyCode==Keyboard.DELETE) {
.....
}
}
它工作得很好。。。
但是,如果您从Flash测试电影,它将不起作用,因此导出到swf并测试….旧线程,但如果有人走到了这一步:在IDE内的Flash播放器中,这些键与快捷方式关联。当您测试电影时,请选择“控制>禁用播放器中的键盘快捷键”,您将返回事件。否,我正在收听舞台上的事件。更新代码段以反映这一点。即使您在文档类的范围内,也必须编写stage.addEventListener(KeyboardEvent.KEY\u DOWN,eventKeyDown)尽管(stage.*)。对我有用…很有趣。我猜是因为模拟器在flashide中运行,IDE本身正在拦截delete命令。