前段时间做项目,遇到一个问题,就是父页面用的jquery.jscrollpane.js插件初始化的滚动条在iframe加载的子页面上并不能使用鼠标滚轮进行滚动。
经过一番排查,发现当鼠标滚轮滚动到子页面上的时候,并不能够触发父页面上的鼠标滚轮事件,进而导致滚动条不能滚动。
页面布局如下图,其中1部分代表iframe页面,2部分代表父页面。
![页面布局](https://img-blog.csdn.net/20171010092221471?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvV1VBSU5JRlU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
解决这个问题就要从根本的鼠标监听滚轮事件下手,思路是监听iframe子页面鼠标滚动事件,然后触发父页面初始化的鼠标滚动事件,让它动起来。
火狐浏览器对鼠标滚轮的监听与其它浏览器不一样,这里需要特殊注意。
1. 在iframe加载的子页面上,注册鼠标滚轮监听事件
$(function(){
//接着利用我们自己封装的函数给div绑定事件,
var oDiv = document.getElementById('PluginSho