zoukankan      html  css  js  c++  java
  • 记一笔:As3监听键盘组合键如:Ctrl+Z,Ctrl+Y等

    最近项目改版添加了关于白板的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,就像闪吧的涂鸦板!

  • 相关阅读:
    Bessie Goes Moo
    小P的强力值
    Max Flow
    约瑟夫
    Moocryption
    杂务
    排行榜
    银行贷款
    轰炸
    Contaminated Milk
  • 原文地址:https://www.cnblogs.com/ywxgod/p/1751016.html
Copyright © 2011-2022 走看看