html5下的鼠标滚轮事件
来源:互联网 发布:广点通优化思路 编辑:程序博客网 时间:2024/05/21 10:09
各家浏览器中的鼠标滚轮事件并未统一(主要是firefox比较另类),这给开发者造成了一点麻烦。
所以,先判断当前浏览器是否是firefox:
function isFireFoxFunc(){ var idx = navigator.userAgent.toLowerCase().indexOf("firefox");return idx >= 0;}
var isFirefox = isFireFoxFunc();
添加事件响应,firefox的对鼠标滚轮的事件名为:DOMMouseScroll,其它浏览器下,用mousewheel即可。
我这里的代码中用了jQuery, canvas是jQuery对象。
var eventName = isFirefox ? "DOMMouseScroll" : "mousewheel";canvas.get(0).addEventListener(eventName, MouseWheelHandler, false);在事件向应函数中,firefox通过e.detail、其它浏览器通过e.wheelDelta来通知开发者滚轮的方向和滚动距离。
firefox下,e.detail定义负值为向上滚动,其它浏览器定义负值为向下滚动,各浏览器对且滚动距离的定义的单位也不同。
所以,在事件响应函数中,先对滚轮的方向和滚动距离做归一化处理,再完成其它操作。
function MouseWheelHandler(e) {//normalize wheel scroll degree, positive: up scroll, negative: down scroll.var normalizedWheelAmp = isFirefox ? ( e.detail / -3 ) : ( e.wheelDelta / 120 ); //TODO: Mousewheel event handler}
- html5下的鼠标滚轮事件
- HTML5是如何使用鼠标滚轮事件的
- HTML5是如何使用鼠标滚轮事件的
- html5鼠标滚轮事件mousewheel使用
- html5鼠标滚轮事件mousewheel使用
- 鼠标的滚轮javascript事件
- js的鼠标滚轮事件
- java获取鼠标滚轮按下事件
- qtp10.0下鼠标滚轮事件
- QT5的鼠标事件和滚轮事件
- 如何在HTML5页面中使用鼠标滚轮事件
- 坑爹的鼠标滚轮事件
- onmousewheel鼠标滚轮事件绑定的兼容性问题
- 关于鼠标滚轮事件的禁止方法
- js对于鼠标滚轮事件的监听
- 鼠标滚轮事件
- javascript: 鼠标滚轮事件
- 兼容鼠标滚轮事件
- 习题3-2,单词的长度
- Yii: 在CGridView控件中使用数组做为数据源
- stl内的remove_if函数和remove函数和list类的remove函数简单例子
- CString/string /Char转化、Vector、分割、New、Malloc、Memset、Memcpy、Strcpy、static
- 中国个人站长上的四个大当
- html5下的鼠标滚轮事件
- UVA11478 Halum
- python:百度贴吧,统计ID回复数的爬虫,附源码
- 习题3-3,乘积的末三位
- 个人站长不要把理想和青春赌到网站上,写得太对了!
- 【CodeBlocks 非官方翻译】问题汇总
- linux中查看java进程
- RGB彩色空间的不同转换公式
- POJ 2262 ----Goldbach's Conjecture