Apache flex 禁用flex应用程序中的鼠标滚轮,改为将事件传递给浏览器

Apache flex 禁用flex应用程序中的鼠标滚轮,改为将事件传递给浏览器,apache-flex,mousewheel,Apache Flex,Mousewheel,我有一个全屏幕的flex应用程序,我希望用户能够使用浏览器滚动条滚动。我在flex应用程序中不需要鼠标滚轮,flex似乎会阻止鼠标滚轮事件本身。所以鼠标滚轮事件不起任何作用。您可以通过外部接口轻松完成这项工作。每当swf收到MouseEvent.MOUSE_WHEEL事件时,调用滚动页面的javascript函数。jQuery可以为您提供这方面的帮助 滚动事件在不同的浏览器/操作系统中处理方式不同,因此您必须进行一系列测试。例如,上次我检查的时候,如果你想让滚动事件在OSX上工作,你实际上必须将

我有一个全屏幕的flex应用程序,我希望用户能够使用浏览器滚动条滚动。我在flex应用程序中不需要鼠标滚轮,flex似乎会阻止鼠标滚轮事件本身。所以鼠标滚轮事件不起任何作用。

您可以通过外部接口轻松完成这项工作。每当swf收到MouseEvent.MOUSE_WHEEL事件时,调用滚动页面的javascript函数。jQuery可以为您提供这方面的帮助

滚动事件在不同的浏览器/操作系统中处理方式不同,因此您必须进行一系列测试。例如,上次我检查的时候,如果你想让滚动事件在OSX上工作,你实际上必须将它们从javascript发送到flash中。这对您来说是个好消息,因为默认情况下,滚轮应该在页面(而不是swf)上工作

让我们来概括一下:

  • 获取MouseEvent.MOUSE\u WHEEL事件
  • 按滚动方向调用javascript
  • 使用jquery相应地移动页面
  • 如果用户正在运行OSX,请禁用所有这些
  • 测试一下

如果您的目标是Flash Player 10或更高版本,您可以使用wmode=“direct”。鼠标滚轮事件将在Flash和浏览器上工作。因为你没有在你的Flex应用程序中使用它们,鼠标滚轮几乎只会滚动页面


我可以在PC Chrome 17、Firefox 3.6和IE 8上使用。

这类东西高度依赖于浏览器;正是浏览器将滚动事件传递给Flash,我怀疑您是否能够在Flash中执行任何操作。如果你的应用程序是全屏羞涩的,那么浏览器是否在滚动Flash应用程序有关系?