这个问题让我恼火了一段时间。当我使用鼠标滚轮在网页中上下滚动时,当 Flash 影片进入光标路径时,滚轮停止工作。此外,当 Flash 影片具有焦点时,您不能使用浏览器快捷键,例如 Ctrl + L 或 Ctrl + R.
我现在正在编写一个 flex 应用程序,我想找到一个解决方案,这样至少我的用户不会被用户界面行为的这种不一致所困扰。
我认为应该有一种方法可以告诉 flash 将鼠标滚轮和键盘输入等事件传播回浏览器,除非它们出现在它们有用的元素中,例如在 flex textarea 中。不过,我找不到任何解决方案,甚至没有人谈论它。
具体来说,我怎样才能做到:
- 当用户使用鼠标滚动时,浏览器会滚动,除非鼠标位于带有滚动条的 flex 容器或其他想要滚动的组件上。
- 当用户按下键盘上的一个按钮或按钮组合时,它将传播到浏览器,除非有一个事件的键盘监听器,或者光标位于文本字段中等。
最佳答案
浏览器和 Flash 之间的通信是通过 ExternalInterface 完成的。 ExternalInterface 允许您从 JavaScript 调用 ActionScript 方法,反之亦然。
祝你好运,因为经验表明处理键盘快捷键和浏览器不稳定的问题通常很痛苦
关于flash - 如何让 flex 仅在有用时才消耗鼠标滚动和键盘事件,否则将其传递给浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4906227/