【问题标题】:Detecting CTRL+V using AS3 in IE在 IE 中使用 AS3 检测 CTRL+V
【发布时间】:2009-03-25 17:56:55
【问题描述】:

我无法在 IE 中使用 AS3 检测到 swf 上的键盘事件 CtrlV。它似乎触发了默认浏览器行为,而我无能为力...有什么解决方法吗?

【问题讨论】:

  • 我在使用 IE 和所有控制键组合时遇到了同样的问题,尽管相同的代码在 FF 中运行良好。发生的情况是 IE 吞下了修改后的键的按下事件,所以我只得到: [KeyboardEvent type="keyDown" ... charCode=0 keyCode=17 ... ctrlKey=true ...] [KeyboardEvent type="keyUp" ... charCode=99 keyCode=67 ... ctrlKey=true ...] [KeyboardEvent type="keyUp" ... charCode=0 keyCode=17 ...ctrlKey=false ...] 添加 evilpenguin 的代码没有' t 改变行为。 (我打算稍后添加一些条件以将 preventDefault() 限制为某些键。)
  • 我们的内部测试在装有 Firefox 和 Safari 的 Mac 上发现了同样的错误。
  • 好的。我发现了几种奇怪的行为。 1) 按下控制键时按下的键永远不会发生键按下事件。 2)如果按住控制键并反复按下其他键而不释放控制键,最终不会发生进一步的按键事件。 3)当你停止接收按键事件后,当你最终释放它时,你将永远不会看到控制按键事件(或任何其他按键事件)。
  • 我在这里写了一个示例代码:stackoverflow.com/questions/11915620/…

标签: flash actionscript detect ctrl


【解决方案1】:

如果这是您遇到的浏览器行为,您可以编写一些 JavaScript 来阻止它。还有另一个相关的帖子,关于在 JS 中捕获关键事件并将它们中继到 flash。查看我的回复here 并关注preventDefault() 部分。您应该只取出您不需要的代码并留下类似

的内容
$(document).ready(function() {
    $(document).keydown(function (event) { event.preventDefault(); });
}

当然,您必须导入 jQuery library

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2014-11-10
      • 2011-02-23
      • 2014-09-27
      • 2011-02-26
      • 2017-07-31
      • 2011-10-13
      • 1970-01-01
      • 2018-09-29
      相关资源
      最近更新 更多