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技术的优质平台!