·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3侦听键盘动作:Ctrl+Z,Ctrl+Y等组合键的用法示例

时间:2013-03-15 09:46CuPlayer.com
[AS3]as3侦听键盘动作:Ctrl+Z,Ctrl+Y等组合键的用法示例,最近项目改版添加了关于白板的redo/undo功能,其中一个需求就是要能通过键盘的组合键Ctrl+z,Ctrl+y来实现undo、redo功能

  最近项目改版添加了关于白板的redo/undo功能,其中一个需求就是要能通过键盘的组合键Ctrl+z,Ctrl+y来实现undo、redo功能。

  开始以为很简单,且as3的KeyboardEvent事件对象中有e.ctrlKey,e.shiftKey来判断是否按下了Ctrl,Shift键,但事情不是这么简单。

  我们的Flash一般都是在浏览器中运行的,特别是在IE里面,如果你按下Ctrl+Z,进行撤销时或许第一次Flash能够监听到,但后面的就监听不到了,浏览器(IE)截取了键盘事件,致使Flash中的监听无效,准确的说是根本没有按键事件发出。

  在闪吧有个涂鸦办,原来里面的undo,redo用的是Shift+Z和Shift+Y,不知道也是不是遇到上面的问题无法解决才用Shift呢!

  不过这个问题在独立的Flash播放器和火狐浏览器中没有出现,他们都能正确监听处理Ctrl+Z,Ctrl+Y,但其他浏览器如IE就不行,IE能正确处理Ctrl+Y,再其他的浏览器我也没测试过,估计也差不多~~有兴趣的可以测试一下!如果一定要用键盘来对应undo/redo,建议用Shift+Z,Shift+Y替换常用的Ctrl+Z,Ctrl+Y,就像闪吧的涂鸦板!

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器