我可以在 Flex 中捕获键盘事件,而无需强制用户点击舞台吗?

Posted

技术标签:

【中文标题】我可以在 Flex 中捕获键盘事件,而无需强制用户点击舞台吗?【英文标题】:Can I catch keyboard events in Flex, without forcing users to click on the stage? 【发布时间】:2011-05-06 17:42:09 【问题描述】:

您好, 查看我通过 Google 搜索找到的示例,我可以看到在 Flex 中处理全局键盘事件的建议常用方法是在 Flex 应用程序的应用程序完成事件中附加一个侦听器。 但是,无论我尝试什么,如果不单击页面上的某个点(托管我的 Flex 应用程序),我就无法捕获事件。 此外,如果我在 Web 应用程序中使用 Flex 组件,其中还有 htmljavascript,我仍然希望能够获取全局键盘事件,即使嵌入式 flex 组件(在 Flash 播放器中)没有焦点.

那么有没有一种可靠的方法将 flex 应用程序和组件(当它们嵌入到网页中时)连接到键盘事件?

最好的问候 自我介绍

【问题讨论】:

【参考方案1】:

您可以使用 javascript 桥接器。您需要在 javascript 中设置侦听器,将数据传递给您的 Flex 应用程序。

至于直接捕获它们,如果插件有焦点,浏览器只会向 Flash 插件发送事件,所以不,您不能直接在 Flex 应用程序中捕获它们。

【讨论】:

谢谢艾伦。奇怪,周围的所有文档和 sn-ps 都给您这种印象,但您所说的确实有道理。似乎一些 javascript 黑客正在路上。

以上是关于我可以在 Flex 中捕获键盘事件,而无需强制用户点击舞台吗?的主要内容,如果未能解决你的问题,请参考以下文章

WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件

WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件

如何使用JavaScript捕获iOS上的隐藏键盘事件

Flex3 中数据网格上的关键事件

Flex - 如何显示可滚动文本并捕获单击/焦点事件以允许添加新文本?

仅在键盘选项卡后获取焦点元素