Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript全局键盘处理,不听到A-Z键?_Javascript_Apache Flex_Externalinterface - Fatal编程技术网

Javascript全局键盘处理,不听到A-Z键?

Javascript全局键盘处理,不听到A-Z键?,javascript,apache-flex,externalinterface,Javascript,Apache Flex,Externalinterface,我正在尝试使用Javascript截取键盘事件,这样我就可以在Flash应用程序中对“关闭窗口”之类的内容执行CMD-W,这样浏览器就不会使用它们了 嗯,我能够监听ALT、CTRL和CMD onKeyDown/onKeyPress事件,但我不能监听其他任何内容。。。以下是Flex项目index.html文件中的代码: document.onkeydown=函数(事件){applicationKeyboardHandler(事件)} document.onkeypress=函数(事件){app

我正在尝试使用Javascript截取键盘事件,这样我就可以在Flash应用程序中对“关闭窗口”之类的内容执行CMD-W,这样浏览器就不会使用它们了

嗯,我能够监听ALT、CTRL和CMD onKeyDown/onKeyPress事件,但我不能监听其他任何内容。。。以下是Flex项目index.html文件中的代码:


document.onkeydown=函数(事件){applicationKeyboardHandler(事件)} document.onkeypress=函数(事件){applicationKeyboardHandler(事件)} 函数applicationKeyboardHandler(事件){ 警报(“按键”) }


我想让它可以听任何按键,而不仅仅是alt/ctrl/cmd。我遗漏了什么?

我想Flash电影正在处理关键事件,并阻止它们在文档树上传播。为什么不处理Flash本身中的事件呢?

我想Flash电影正在处理关键事件,并阻止它们向文档树上传播。为什么不处理Flash本身中的事件?

您确定Flash没有阻止它吗?您是否尝试在没有Flash的页面上运行代码


您应该尝试将事件附加到窗口而不是文档

您确定Flash没有阻止它吗?您是否尝试在没有Flash的页面上运行代码


您应该尝试将事件附加到窗口,而不是像Tim那样记录,我想Flash/Flex正在吞噬关键事件。由于Alt等是元键,所以它们不会在Flex中触发keypress事件,而是传递给JS。另一方面,某些手势(例如某些浏览器上的Ctrl+A)被Flash阻止接收。我想,出于同样的原因(安全性),JS也无法处理这些问题。受保护的按键手势高度依赖于浏览器


可能浏览器不允许您处理CTRL-Q,这样用户就可以随时关闭浏览器,即使打开了一些恶意网站。

像Tim一样,我猜Flash/Flex正在吞噬关键事件。由于Alt等是元键,所以它们不会在Flex中触发keypress事件,而是传递给JS。另一方面,某些手势(例如某些浏览器上的Ctrl+A)被Flash阻止接收。我想,出于同样的原因(安全性),JS也无法处理这些问题。受保护的按键手势高度依赖于浏览器


浏览器可能不允许您处理CTRL-Q,这样用户就可以随时关闭浏览器,即使打开了一些恶意网站。

我尝试了“窗口”和“文档”,它们的工作原理相同。更复杂的是,它只在Safari上运行,Firefox没有注册任何东西。flash怎么会阻止它呢?有没有办法解决这个问题?您是否创建了一个只包含事件处理的页面,而不包含其他内容?让它在页面上没有任何内容的情况下工作,并一次添加一个内容,直到它崩溃。我尝试了“窗口”和“文档”,它们都工作相同。更复杂的是,它只在Safari上运行,Firefox没有注册任何东西。flash怎么会阻止它呢?有没有办法解决这个问题?您是否创建了一个只包含事件处理的页面,而不包含其他内容?让它在页面上没有任何内容的情况下工作,并一次添加一个内容,直到它崩溃。我无法在Flash中执行诸如CMD-Q/CTRL-Q之类的操作,它将关闭浏览器:/。我可以听到所有的键盘事件闪烁,但在文档中听不到。。。。还有其他想法吗?我不能在Flash中执行诸如CMD-Q/CTRL-Q之类的操作,它将关闭浏览器:/。我可以听到所有的键盘事件闪烁,但在文档中听不到。。。。还有其他想法吗?

<script language="JavaScript" type="text/javascript">
document.onkeydown = function(event) {applicationKeyboardHandler(event)} document.onkeypress = function(event) {applicationKeyboardHandler(event)} function applicationKeyboardHandler(event) { alert("Key Pressed") }
</script>