滚轮事件是不同浏览器会有一点点区别,一个像Firefox使用DOMMouseScroll ,ff也可以使用addEventListener方法绑定DomMouseScroll事件,其他的浏览器滚轮事件使用mousewheel,下面我来给大家具体介绍。

Firefox使用DOMMouseScroll,其他的浏览器使用mousewheel。滚动事件触发时Firefox使用detail属性捕捉滚轮信息,其他的浏览器使用wheelDelta。不知道为何在该问题上其他厂商和微软的如此一致。Firefox可以使用addEventListener方法绑定DomMouseScroll事件。

elem.addEventListener(‘DOMMouseScroll’, func, false);IE和其他的主流浏览器可以使用传统的事件绑定模型。但不要使用IE专有的attachEvent方法,其他主流浏览器并不识别微软的这个方法。

?Firefox 鼠标滚轮向上滚动是-3,向下滚动是3

?IE 鼠标滚轮向上滚动是120,向下滚动是-120

?Safari 鼠标滚轮向上滚动是360,向下滚动是-360

?Opera 鼠标滚轮向上滚动是120,向下滚动是-120

?Chrome 鼠标滚轮向上滚动是120,向下滚动是-120

有人在Safari下做了一些测试:”只是滚动一圈的话,值为+-0.1,如果滚动地稍微快点的话(多滚动几圈),这个值也会变大。 这是因为Mac OS下有鼠标滚轮加速功能。滚动一次,浏览器滚动1像素,滚动3次,浏览器却滚动30像素”。同时他也对Camino(基于Gecko的内核引擎)进行研究:“与Safari相似(+- 0.3 to +-Infinity),虽然使用了与firefox相同的内核引擎,但结果这个delta值却只在+-2.666666里浮动,无论滚动速度如何

其中经我测试:

IE/Opera属于同一类型,使用attachEvent即可添加滚轮事件。

/*IE注册事件*/

if(document.attachEvent){

document.attachEvent('onmousewheel',scrollFunc);

}

Firefox使用addEventListener添加滚轮事件

/*Firefox注册事件*/

if(document.addEventListener){

document.addEventListener('DOMMouseScroll',scrollFunc,false);

}

Safari与Chrome属于同一类型,可使用HTML DOM方式添加事件

window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

其中除Firefox外其余均可使用HTML DOM方式添加事件,因此添加事件使用以下方式

/*注册事件*/

if(document.addEventListener){

document.addEventListener('DOMMouseScroll',scrollFunc,false);

}//W3C

window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

detail与wheelDelta

判断滚轮向上或向下在浏览器中也要考虑兼容性,现在五大浏览器(IE、Opera、 Safari、Firefox、Chrome)中Firefox 使用detail,其余四类使用wheelDelta;两者只在取值上不一致,代表含义一致,detail与wheelDelta只各取两个 值,detail只取±3,wheelDelta只取±120,其中正数表示为向上,负数表示向下。

滚动值:(IE/Opera)

滚动值:(Firefox)

var oTxt = document.getElementById("txt");

var scrollFunc = function (e) {

var direct = 0;

ee = e || window.event;

var t1 = document.getElementById("wheelDelta");

var t2 = document.getElementById("detail");

if (e.wheelDelta) {//IE/Opera/Chrome

t1.value = e.wheelDelta;

} else if (e.detail) {//Firefox

t2.value = e.detail;

}

ScrollText(direct);

}

/*注册事件*/

if (document.addEventListener) {

document.addEventListener('DOMMouseScroll', scrollFunc, false);

}//W3C

window.onmousewheel = document.onmousewheel = scrollFunc; //IE/Opera/Chrome/Safari

转载自:http://www.2cto.com/kf/201502/376772.html

HTML中鼠标滚轮事件onmousewheel

IE/Opera属于同一类型,使用attachEvent即可添加滚轮事件. /*IE注册事件*/ if(document.attachEvent){ document.attachEvent('onm ...

js中鼠标滚轮事件详解

js中鼠标滚轮事件详解   (以下内容部分内容参考了http://adomas.org/javascript-mouse-wheel/ ) 之前js 仿Photoshop鼠标滚轮控制输入框取值中已使用 ...

鼠标滚轮事件 onmousewheel

1.fiefox:DOMMouseScroll               detail      detail*(-40)=wheelDelta 除了firefox之外:mousewheel     ...

JavaScript中的鼠标滚轮事件详解

JavaScript中的鼠标滚轮事件详解/*Firefox注册事件*/ ~~~Firefox: addEventListener('DOMMouseScroll', handler, false)if ...

Winform 中panel的mousewheel鼠标滚轮事件触发

如果将窗体或容器控件(如Panel控件)的AutoScroll属性设置为True时,那么当窗体或Panel容不下其中的子控件时就会出现 滚动条,通过移动滚动条可以上下显示出窗体或Panel中的全部内容 ...

js中的鼠标滚轮事件

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

鼠标滚轮事件MouseWheel

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

js整频滚动展示效果(函数节流鼠标滚轮事件)

ttp://schemas.android.com/apk/res/android& ...

sql按照in中的顺序进行排序 mysql

经测试以下三种情况,都可以. SELECT a.id,a.name as goods_name,a.logoimg,b.name as store_name FROM sh_goods a LEFT ...

haxe 嵌入swf 读取里面的内容

首先安装 swf 库,运行命令: 命令提示符: haxelib install swf 在project.xml 加上

1.Linux下libevent和memcached安装

 1 下载libevent-2.0.22-stable.tar.gz,下载地址是:http://libevent.org/ 2 下载memcached,下载地址是:http://memcached ...

html如何设置滑轮效果,HTML中鼠标滚轮事件onmousewheel处理相关推荐

  1. js禁止鼠标滑轮_javascript实现禁止鼠标滚轮事件

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

  2. js中鼠标滚轮事件详解

    <body style="height:2000px"><script type="text/javascript">var scrol ...

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

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

  4. 鼠标滚轮事件(mousewheel / DOMMouseScroll)兼容性处理

    鼠标滚轮事件(mousewheel / DOMMouseScroll)兼容性处理 非Firefox浏览器中 在非 Firefox 浏览器中,使用 mousewheel 事件来监听鼠标的滚轮事件,通过事 ...

  5. vue鼠标移动上去提示_关于如何处理vue中鼠标悬停事件的详细说明

    最后,在查看结果中,发现滑过鼠标事件将触发该事件,但它将闪烁并清除. 当鼠标停留在单元格上时鼠标滑过事件,遮罩层将消失并重复出现. 开关. 为了缓解这种情况,setTimeout也用于延迟显示和隐藏在 ...

  6. C# 中panel的mousewheel鼠标滚轮事件触发

    如果将窗体或容器控件(如Panel控件)的AutoScroll属性设置为True时,那么当窗体或Panel容不下其中的子控件时就会出现 滚动条,通过移动滚动条可以上下显示出窗体或Panel中的全部内容 ...

  7. Winform 中panel的mousewheel鼠标滚轮事件触发

    如果将窗体或容器控件(如Panel控件)的AutoScroll属性设置为True时,那么当窗体或Panel容不下其中的子控件时就会出现 滚动条,通过移动滚动条可以上下显示出窗体或Panel中的全部内容 ...

  8. C# 中手动添加Mousewheel鼠标滚轮事件

    如果将窗体或容器控件(如Panel控件)的AutoScroll属性设置为True时,那么当窗体或Panel容不下其中的子控件时就会出现 滚动条,通过移动滚动条可以上下显示出窗体或Panel中的全部内容 ...

  9. Java怎么监听鼠标滑轮的转向_javascript监听鼠标滚轮事件浅析

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

最新文章

  1. 四、One-hot和损失函数的应用
  2. 如何允许计算机远程桌面连接,远程桌面 - 允许访问你的电脑
  3. Java NIO与IO的区别和比较
  4. java应用程序中判断用户输入的一个整数是否在已知数组里。
  5. 单播 广播 组播_【技术解析】关于组播概念那些你需要知道的~
  6. LeetCode 1122 数组的相对排序-简单-unordered_map容器的应用
  7. JavaOne 2012:调查JVM水晶球
  8. oracle sql 分区查询语句_Oracle 分区概述
  9. WPF RichTextBox的Document属性的序列化与反序列化
  10. solr与zookeeper搭建solrcloud分布式索引服务实例
  11. python---之np.unique
  12. 24. flock() 函数
  13. C# 如何插入、编辑和删除Excel批注
  14. jenkins使用python plugin编写代码构建时报错:Caused: java.io.IOException: Cannot run program “python“
  15. 甘超波:NLP抽离与结合
  16. Nginx 重写功能(location / rewrite)
  17. c语言彩票随机数7位数,产生7个不同的随机数,类似彩票该怎么实现
  18. 游戏机械键盘哪个好,为什么资深玩家选择Hyperx游戏机械键盘?
  19. 线下盛会|欢迎关注 Pulsar Summit 2022 旧金山峰会
  20. 促销 java 满 赠_促销活动除了打折、返现、满赠,还有什么方式?

热门文章

  1. 为什么程序员要尽量少写代码
  2. 穷人迈向富翁的理财十步曲
  3. 李开复唱衰互联网手机:大部分公司会失败
  4. Windows 系统下使用 MinGW + MSYS + GCC 编译 FFMPEG
  5. 多媒体视频知识入门贴zt(二)
  6. Docker 制作镜像的方式
  7. R 包的安装,使用,更新
  8. 说一下自己对于 Linux 哲学的理解
  9. 运用HTML5+CSS3和CSS滤镜做的精美的登录界面
  10. 转:upload.parseRequest为空