//激发滚轮
    (function () {
        var body = document.body;
        var parent = window.parent;
        if (parent && ("createEvent" in document)) {
            var isoldie = ("documentMode" in document);  // 11-
            var ismsedge = ("msCredentials" in window);  // MS Edge 14+
            function onwheel(e) {
                var evt = document.createEvent("MouseEvents");
                evt.initEvent('wheel', true, true);
                evt.deltaMode = e.deltaMode;
                evt.deltaX = e.deltaX;
                evt.deltaY = e.deltaY;
                evt.deltaZ = e.deltaZ;
                evt.wheelDelta = e.wheelDelta;
                evt.wheelDeltaX = e.wheelDeltaX;
                evt.wheelDeltaY = e.wheelDeltaY;                //如果父页面是$('html').niceScroll();用这个
                //parent.dispatchEvent(evt);                ////如果要使父页面的某个滚动条触发,则用下面这个,id换一下
                parent.document.getElementById('mainFrame').dispatchEvent(evt);
            }
            body.addEventListener("wheel", onwheel);        }    })();

解决方案 »

  1.   

    用jquery吧
    // jquery 兼容的滚轮事件
    $(document).on("mousewheel youDomSelector", function (e) {
        
        var delta = (e.originalEvent.wheelDelta && (e.originalEvent.wheelDelta > 0 ? 1 : -1)) ||  // chrome & ie
                    (e.originalEvent.detail && (e.originalEvent.detail > 0 ? -1 : 1));              // firefox    
        if (delta > 0) {
            // 向上滚
            console.log("wheelup");
        } else if (delta < 0) {
            // 向下滚
            console.log("wheeldown");
        }
    });
      

  2.   

    主要是addEventListener这个事件只支持w3c内核,所以要兼容ie内核的话,需要封装一个判断的函数.使它检测到不同浏览器时,执行不同的代码块.
      

  3.   

    addEventListen支持谷歌和火狐,不只吃ie8你可以用attachEvent进行兼容代码