javascript-OpenLayers上的Scroll Wheel Zooming停止将div设置为overflow:auto

这是我的地图div的CSS:

#map {
              position: fixed;
              top: 9.48em;
              bottom: 2.2em;

            }

我的OpenLayers地图在此div中呈现.一切正常.但是只要我添加一个

overflow:auto;

上方css中的属性,则无法使用地图上的滚轮缩放.我需要添加此属性,因为现在我需要显示一些表格来代替地图.

我怀疑当我添加滚动条时,滚轮的事件未到达OpenLayers.

通过修复CSS或某些OpenLayers代码来解决此问题吗?

我知道我可以通过在JS中添加一些逻辑来做到这一点,该逻辑根据要加载的页面动态更改css属性,但是除非绝对必要,否则我不想走那条路,找到干净的解决方案.

谢谢.

解决方法:

很好的问题,这是设计使然:如果您位于可滚动的div上,OpenLayers将不会执行任何操作(它将为此检查溢出样式),否则,它将滚动地图.

查看解释源:https://github.com/openlayers/openlayers/blob/master/lib/OpenLayers/Handler/MouseWheel.js#L149

检查溢出样式在这里:https://github.com/openlayers/openlayers/blob/master/lib/OpenLayers/Handler/MouseWheel.js#L124

上一篇:H5监听浏览器滚动条scrollbar


下一篇:GUI JList列表框练习