Javascript 在Flex4中滚动spark Datagrid时,如何阻止浏览器窗口滚动?

Javascript 在Flex4中滚动spark Datagrid时,如何阻止浏览器窗口滚动?,javascript,apache-flex,browser,flex4,Javascript,Apache Flex,Browser,Flex4,我有一个spark数据网格,它的行数超过了它的大小。我想使用鼠标滚动来滚动DataGrid,但当我这样做时,整个浏览器窗口也会滚动 当我只想滚动DataGrid时(或者当鼠标位于Flex应用程序[嵌入HTML页面]上时),有没有办法停止浏览器滚动?我想可能有一个javascript解决方案,我不确定。您可能需要在可滚动容器(TextArea/DataGrid/whatever)和event.stopPropagation()中侦听滚动事件 当您位于容器的顶部/底部时,最好不要停止事件传播,在这种

我有一个spark数据网格,它的行数超过了它的大小。我想使用鼠标滚动来滚动DataGrid,但当我这样做时,整个浏览器窗口也会滚动


当我只想滚动DataGrid时(或者当鼠标位于Flex应用程序[嵌入HTML页面]上时),有没有办法停止浏览器滚动?我想可能有一个javascript解决方案,我不确定。

您可能需要在可滚动容器(
TextArea
/
DataGrid
/whatever)和
event.stopPropagation()中侦听滚动事件

当您位于容器的顶部/底部时,最好不要停止事件传播,在这种情况下,用户可能希望滚动外部容器


也就是说,只要Flash播放器有焦点;浏览器窗口不应滚动。您对哪个浏览器有问题?你在其他浏览器中测试过吗?你能链接到一个示例吗?在firefox中,即使flash播放器有焦点,页面滚动仍能正常工作,你也必须尝试设置一些flash的对象容器ev.preventDefault()和.stopPropagation()-单击搜索按钮。数据网格将出现。我正在chrome上测试。不过,我们将关注不同的浏览器。刚刚用Firefox测试过,也有同样的问题。@wes我以前从未遇到过。通常是浏览器向Flash Player发送事件。如果取消Flash Player事件会影响浏览器行为,我会感到惊讶。您可以为MouseEvent.MOUSE_WHEEL添加一个侦听器,然后在处理程序中获取传入的事件并调用event.stopImmediatePropagation()或有时调用event.preventDefault()这看起来确实很奇怪,因为这样可以阻止事件通过显示树向上传播,但不一定会影响flash player外部的HTML/DOM。您可能还需要使用一些javascript(捕获不同浏览器之间的鼠标滚轮事件)来破解它。哈很久以前。。。恐怕我已经完全停止使用Flex了。但是谢谢你的回答。。你确定是100%吗?如果是的话,我会给你打勾。是的,我很确定这种方法是有效的:)我很享受这种技术的黄昏。