JS鼠标滚轮事件详解
鼠标滚轮事件
//兼容性写法,该函数也是网上别人写的,不过找不到出处了,蛮好的,所有我也没有必要修改了 //判断鼠标滚轮滚动方向 if (window.addEventListener)//FF,火狐浏览器会识别该方法 window.addEventListener('DOMMouseScroll', wheel, false); window.onmousewheel = document.onmousewheel = wheel;//W3C //统一处理滚轮滚动事件 function wheel(event){ var delta = 0; if (!event) event = window.event; if (event.wheelDelta) {//IE、chrome浏览器使用的是wheelDelta,并且值为“正负120” delta = event.wheelDelta/120; if (window.opera) delta = -delta;//因为IE、chrome等向下滚动是负值,FF是正值,为了处理一致性,在此取反处理 } else if (event.detail) {//FF浏览器使用的是detail,其值为“正负3” delta = -event.detail/3; } if (delta) handle(delta); } //上下滚动时的具体处理函数 function handle(delta) { if (delta <0){//向下滚动 }else{//向上滚动 } }
IE、chrome监听的是wheelDelta,向下滚动其值为-120;向上滚动其值为120
FF监听的是detail,向下滚动其值为3;向上滚动其值为-3
jQuery写法
$(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('向上滚动'); } }
其他浏览器未测试
同类文章
http://www.jb51.net/article/24831.htm
http://www.cnblogs.com/walkingp/archive/2010/02/03/1662872.html
如果你觉得本文对您有帮助,可以留言或点赞哦!
>>留于文后
如果您发现文中存在错误,欢迎留言指出,提前感谢!
------------------------------------------------------------------------------------------------------------------------------------
本文来自博客:http://www.cnblogs.com/caoruiy/
------------------------------------------------------------------------------------------------------------------------------------
特别说明:本人博客迁移到独立博客站点:http://www.plcent.com/
转载请注明出处, 以防有错误, 方便后来者追根溯源!做一个有爱的搬运工O(∩_∩)O哈哈~
请勿用于商业用途!
>>留于文后
如果您发现文中存在错误,欢迎留言指出,提前感谢!
------------------------------------------------------------------------------------------------------------------------------------
本文来自博客:http://www.cnblogs.com/caoruiy/
------------------------------------------------------------------------------------------------------------------------------------
特别说明:本人博客迁移到独立博客站点:http://www.plcent.com/
转载请注明出处, 以防有错误, 方便后来者追根溯源!做一个有爱的搬运工O(∩_∩)O哈哈~
请勿用于商业用途!