我有一个全屏 flex 应用程序,我希望用户能够使用浏览器滚动条进行滚动。我在 flex 应用程序中不需要鼠标滚轮,并且 flex 似乎会阻止鼠标滚轮事件本身。所以鼠标滚轮事件什么都不做。
问问题
689 次
2 回答
1
您可以通过外部接口轻松完成此操作。每当您的 swf 收到 MouseEvent.MOUSE_WHEEL 事件时,调用一个滚动页面的 javascript 函数。jQuery 可以为您做到这一点。
滚动事件在不同浏览器/操作系统中的处理方式不同,因此您将不得不进行大量测试。例如,上次我检查你是否真的必须将滚动事件从 javascript 发送到 OSX 上的 flash 中,如果你想让它们工作的话。这对您来说是个好消息,因为默认情况下滚轮应该在页面(而不是 swf)上工作。
所以让我们总结一下:
- 获取 MouseEvent.MOUSE_WHEEL 事件。
- 使用滚动方向调用 javascript
- 使用 jquery 相应地移动页面
- 如果用户正在运行 OSX,则禁用所有这些
- 测试它的狗屎
于 2011-01-15T10:35:27.930 回答
1
如果您的目标是 Flash Player 10 或更高版本,则可以使用 wmode="direct"。鼠标滚轮事件适用于 Flash 和浏览器。由于您没有在 Flex 应用程序中使用它们,因此鼠标滚轮几乎只会滚动页面。
适用于我的 PC Chrome 17、Firefox 3.6 和 IE 8。
于 2012-03-13T16:33:21.680 回答