一H5页面原本在移动端跑的好好的,用的alloyTouch组件,结果老板硬生生要在电脑版微信里打开,PC端没有touch事件,结果滑不动,只好想点兼容变通的办法,上代码:chrome
// 兼容PC版微信滚轮事件代替touch // $(document).on('mousewheel DOMMouseScroll', onMouseScroll); function onMouseScroll(e){ e.preventDefault(); var wheel = e.originalEvent.wheelDelta || -e.originalEvent.detail; var delta = Math.max(-1, Math.min(1, wheel) ); if(delta<0){ // 向下滚动 console.log('向下滚动 '); }else{ // 向上滚动 console.log('向上滚动 '); } }
IE、chrome监听的是wheelDelta,向下滚动其值为-120;向上滚动其值为120微信
FF监听的是detail,向下滚动其值为3;向上滚动其值为-3spa