1.mousewheel事件(兼容opera,chrome,safari,IE)

mousewheel事件对应的event对象包含一个wheelDelta属性。用户滚动鼠标滚轮时,wheelDelta的值是正负120的倍数。

值得注意的是,在opera9.5之前的版本,wheelDelta的正负号是颠倒的,这里不做考虑

一般情况下,监听wheelDelta的正负值,就可以确定鼠标滚轮的滚动方向。

document.addEventListener('mousewheel',function(event){console.log( event.wheelDelta > 0 )
},false)
复制代码

2.DOMMouseScroll事件(兼容FireFox)

FireFox支持一个名为DOMMouseScroll的类似事件,类比于mousewheel。不同的是,鼠标滚轮的信息保存在detail属性里面。还有一点,用户滚动鼠标滚轮时,detail的值是正负3的倍数。

document.addEventListener('DOMMouseScroll',function(event){console.log( event.detail > 0 )
},false)
复制代码

3.跨浏览器兼容写法

var eventHandle = {getEvent: function(event){return event || window.event;},addEvent: function(element, type, handler){if(element.addEventListener){element.addEventListener(type, handler, false);}else if(element.attachEvent){element.attachEvent('on'+type, handler);}else{element['on'+type] = handler;}},getWheelDelta: function(event){return event.wheelDelta ? event.wheelDelta : (-event.detail)*40;}
}function mouseHandle(event){event = eventHandle.getEvent(event);var delta = eventHandle.getWheelDelta(event);console.log( delta )
}eventHandle.addEvent(document, 'mousewheel', mouseHandle);
eventHandle.addEvent(document, 'DOMMouseScroll', mouseHandle);
复制代码

转载于:https://juejin.im/post/5cc7ab876fb9a0322758c75c

Javascript鼠标滚轮事件兼容写法相关推荐

  1. JavaScript 鼠标滚轮事件(实现导航栏上滚显示)

    文章目录 detail与wheelDelta 上下滚动检测 隐藏导航栏例子 当在垂直方向滚动页面时就会触发 mousewheel 事件 detail与wheelDelta 判断鼠标滚轮滚动方向在各浏览 ...

  2. java响应鼠标滚轮事件_鼠标滚轮事件MouseWheel

    其实在大多数浏览器(IE6, IE7, IE8, Opera 10+, Safari 5+,Chrome)中,都提供了 "mousewheel" 事件.但杯具的是 Firefox ...

  3. JS鼠标滚轮事件详解

    鼠标滚轮事件 //兼容性写法,该函数也是网上别人写的,不过找不到出处了,蛮好的,所有我也没有必要修改了 //判断鼠标滚轮滚动方向 if (window.addEventListener)//FF,火狐 ...

  4. html鼠标滚轮监听,javascript监听鼠标滚轮事件浅析

    我们都见到过这些效果,用鼠标滚轮实现某个表单内的数字增加减少操作,或者滚轮控制某个按钮的左右,上下滚动.这些都是通过js对鼠标滚轮的事件监听来实现的.今天这里介绍的是一点简单的js对于鼠标滚轮事件的监 ...

  5. html页面禁止滚轮事件,javascript实现禁止鼠标滚轮事件

    平时我们兼容什么东西总是在调整低版本IE的兼容性,但是这回不是因为低版本浏览器不给力.而是因为火狐给力过头了,完全不顾其它浏览器的感受标新立异了.除了火狐之外,所有的浏览器都可以使用MouseWhee ...

  6. 火狐浏览器兼容鼠标滚轮事件

    火狐浏览器兼容鼠标滚轮事件 起因: this.$refs.canvasDivBox.addEventListener('mousewheel', this.zoomInOrOut, false); 这 ...

  7. 火狐兼容鼠标滚轮事件

    问题 mousewheel在火狐上不生效,火狐鼠标滚轮事件是DOMMouseScroll // 判断是否火狐浏览器,兼容鼠标滚轮事件(一个简单的方法) 谷歌是e.wheelDelta值是120和-12 ...

  8. js中的鼠标滚轮事件

    ## 事件对象 event1 event事件对象,表示用来获取事件的详细信息,比如得到鼠标的横坐标:事件对象.clientX(clientX是可视区坐标)window.onclick = functi ...

  9. 鼠标滚轮事件及解决滚轮事件多次触发问题

    转载:https://www.cnblogs.com/jjxhp/p/11736066.html#_label0 一.滚轮事件的 js 写法 二.jQuery写法 三.参考 四.滚轮事件滚动过快,事件 ...

最新文章

  1. 自旋电子学与量子计算机,基于“分子自旋电子学”的新技术,将给量子计算机带来新希望!...
  2. python3 爬淘女郎
  3. python Windows和Linux路径表示问题
  4. 开源android豆瓣电影阅读器
  5. win11怎么使用ie浏览器?(ie兼容模式)(win11还是支持不好啊)
  6. Android 带有字数统计的 TextInputLayout
  7. ISAPI_Rewrite伪静态配置
  8. 牛客网 【每日一题】8月5日题目精讲—蓝魔法师
  9. python 查询sqlserver 视图_SQL Server 2017 数据库教与学(教学大纲,含Python+SQL Server案例)...
  10. BZOJ 1822 Frozen Nova 霜冻新星
  11. 陈世清C语言程序设计课后答案,c语言程序设计报告.doc
  12. 操作系统启动后 计算机处于 模式,电脑开机出现选择操作系统。怎么办?
  13. 金蝶K3物料主数据计划策略字段设置
  14. JAVA微博文章内容抓取_关于微博数据抓取的实践
  15. etax导入账户不让勾选_【问答】自然人电子税务局网页版扣缴功能常见问题解答!...
  16. 平方根估计 python 3
  17. 计算机画图橡皮擦怎么扩大,大师为你演示win7系统画图工具中改变橡皮擦大小的图文教程...
  18. vue.js微信公众号登录,获取当前用户openid等基本信息
  19. 下载 bilibili 视频字幕文件
  20. 户外P10全彩LED显示屏一站式解决方案。

热门文章

  1. 【深度好文】沈向洋:读论文的三个层次
  2. SAP QM QPV3查看Sample-Drawing Procedure
  3. 实验室信息管理系统(LIMS)知识大全
  4. 德鲁克《管理的实践》笔记
  5. 阿里达摩院已经研发出第一个可控的量子比特
  6. 为何BERT在 NLP 中的表现如此抢眼?
  7. 思科将在网络中融入人工智能和机器学习
  8. 国美零售引入AI图像识别技术 线下自动识别用户数据
  9. 干货回顾丨深度学习应用大盘点
  10. NIPS改名为NeurIPS的原因