现在的位置: 首页 > web前端 > 正文

Javascript对鼠标滚轮事件怎么处理

2020年06月10日 web前端 ⁄ 共 838字 ⁄ 字号 评论关闭

  W3C并没有对鼠标滚轮事件进行规范,各浏览器厂商封装了不同的实现方法,事件属性也不一样,号称最标准的FireFox,用了一个私有实现DOMMouseScroll。不过,其他浏览器都是用onmousewheel实现,所以做兼容处理的难度也不大。下面学步园小编来讲解下Javascript对鼠标滚轮事件怎么处理?

  Javascript对鼠标滚轮事件怎么处理

  所谓事件属性,就是滚轮滚动时某个特定变量的变化。该变量不需要用户定义,是作为事件的属性出现的。

  对于FireFox,这个变量是detail:滚轮向上滚动,detail=-3;向下滚动,detail=3。

  对于非FireFox,这个变量是wheelDelta:滚轮向上滚动,wheelDelta=120;向下滚动,wheelDelta=-120。

  另外,还有一点需要注意。

  在FireFox下,DOMMouseScroll必须通过addEventListener来绑定,如:

  element.addEventListener("DOMMouseScroll",fun,false)

  在非FireFox下,就没有限制了,除了上述方法,还可用下边的代码:

  element.onmousewheel=function(){}

  笔者最后总结了一段兼容代码,给大家使用。

  对于实现方法的兼容:

  /**

  *对滚轮事件属性的兼容处理,不管何种浏览器,最后统一为:鼠标轮向上滚动detail=-3,向下滚动detail=3

  */

  function fun(e)

  {

  var e=e||event;

  var detail=e.detail||parseInt(-e.wheelDelta/40);

  /*添加代码*/

  }

  实例:鼠标在图片上滚动,图片放大或缩小。

  以上就是关于“Javascript对鼠标滚轮事件怎么处理”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.