flex键盘事件的问题
我看网上的例子都是在文本框或者文本域中输入,然后触发键盘事件.有的用鼠标点击一下面板这样也可以触发键盘事件,但是每次都要用鼠标点击面板这样的话才能够触发键盘事件。现在我要实现的就是进入一个空的面板的页面,一进入这个页面就触发键盘事件,或者用鼠标点击一次以后就再也不用点击页面也是可以触发键盘事件.
注明(这个mxml文件里面只有一个Canvas id为 canvas)
[解决办法]
第一次进去的时候肯定要鼠标点击一次的,因为要告诉flash,它获取了焦点啊,不然它怎么监听呢?它怎么知道你进入浏览器了没有-.-
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="callLater(init)"
layout="absolute" height="100%" width="100%">
<mx:Script>
<![CDATA[
private function init():void{
Application.application.stage.addEventListener( KeyboardEvent.KEY_DOWN, onKeypress );
}
private function onKeypress( e:KeyboardEvent ):void{
if(e.keyCode == Keyboard.F2){lab.text = "你按了F2";}
if(e.keyCode == Keyboard.TAB){lab.text = "你按了TAB键";}
if(e.keyCode == Keyboard.CONTROL){lab.text = "你按了Ctrl键";}
if(e.keyCode == Keyboard.UP){lab.text = "你按了方向键‘上’";}
//....其他的自己写 我只知道这么判断
}
]]>
</mx:Script>
<mx:Canvas width="100%" height="100%">
<mx:Label id="lab" />
</mx:Canvas>
</mx:Application>