flash - 如何让 flex 仅在有用时才消耗鼠标滚动和键盘事件,否则将其传递给浏览器?

标签 flash apache-flex actionscript keyboard-shortcuts

这个问题让我恼火了一段时间。当我使用鼠标滚轮在网页中上下滚动时,当 Flash 影片进入光标路径时,滚轮停止工作。此外,当 Flash 影片具有焦点时,您不能使用浏览器快捷键,例如 Ctrl + LCtrl + R.

我现在正在编写一个 flex 应用程序,我想找到一个解决方案,这样至少我的用户不会被用户界面行为的这种不一致所困扰。

我认为应该有一种方法可以告诉 flash 将鼠标滚轮和键盘输入等事件传播回浏览器,除非它们出现在它们有用的元素中,例如在 flex textarea 中。不过,我找不到任何解决方案,甚至没有人谈论它。

具体来说,我怎样才能做到:

  • 当用户使用鼠标滚动时,浏览器会滚动,除非鼠标位于带有滚动条的 flex 容器或其他想要滚动的组件上。
  • 当用户按下键盘上的一个按钮或按钮组合时,它将传播到浏览器,除非有一个事件的键盘监听器,或者光标位于文本字段中等。

最佳答案

浏览器和 Flash 之间的通信是通过 ExternalInterface 完成的。 ExternalInterface 允许您从 JavaScript 调用 ActionScript 方法,反之亦然。

祝你好运,因为经验表明处理键盘快捷键和浏览器不稳定的问题通常很痛苦

关于flash - 如何让 flex 仅在有用时才消耗鼠标滚动和键盘事件,否则将其传递给浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4906227/

相关文章:

flash - FLASH-从其他主机/域加载声音

apache-flex - 在 ButtonBar 中设置 Spark 按钮宽度

actionscript-3 - Adobe Air 还是 Flex?

javascript - Action Script 3. 如何控制二级数组中的元素?

actionscript-3 - 安全错误 : Error #2152: Full screen mode is not allowed.

android - 捕获权限授予完成事件

javascript - 如何让Flash应用程序与服务器通信?

apache-flex - [RemoteClass] 在 Flex Actionscript 中如何工作 我可以将它用于自定义数据绑定(bind)吗?

javascript - Adobe ExternalInterface 在 IE9 中不工作

apache-flex - 如何使用虚拟布局获取 Spark List 上的可见项