Flex:让 Canvas 响应键盘事件
by Dofy- Published:February 29th, 2008
- Comments:No Comment
- Category:实验室, 工作日志, 技术文章
如果你也遇到 Canvas 不能绑定 KEY_UP KEY_DOWN 事件的问题, 参考下面的代码.
-
<?xml version="1.0" encoding="utf-8"?>
-
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
-
layout="vertical"
-
creationComplete="initApp();">
-
<mx:Script>
-
<![CDATA[
-
private function initApp():void
-
{
-
// 最好把事件绑定到需要响应事件的组件上, 而不是 application
-
// 否则文本框中也会响应按键动作,
-
// 尝试把 keyTest 改成 application 然后在文本框中输入
-
keyTest.addEventListener(KeyboardEvent.KEY_UP, keyHandler);
-
}
-
-
private function keyHandler(evt:KeyboardEvent):void
-
{
-
keyCodeText.text = evt.keyCode.toString();
-
}
-
]]>
-
</mx:Script>
-
<mx:TextInput id="keyCodeText"/>
-
<mx:Canvas id="keyTest"
-
width="230" height="230"
-
backgroundColor="#ff0000"
-
click="event.target.setFocus();" />
-
<!-- 需要手动让 Canvas 获得焦点才能响应 key up / down 事件 -->
-
</mx:Application>





