Chrome浏览器滚轮事件用的是mousewheel,滚动值用的是event.wheelDelta
Firefox浏览器滚轮事件用的是DOMMouseScroll,滚动值用的是event.detail
Firefox的滚动值很小,而且滚动方向相反
综合以上特点,最后封装的兼容代码如下:
//添加鼠标滚轮监听export function addMouseWheelListener(element, callback) {//接收字符串,DOM对象,JQuery对象等多种格式element = TypeModule.toHtmlElement(element);["mousewheel", "DOMMouseScroll"].forEach(eventType => {element.addEventListener(eventType, event => {event = event || window.event;let dy = event.wheelDelta || event.detail * (-40);callback(dy);});}, true);}