其实我对于各个浏览器的兼容性知道的是少之又少,所了解的也不过是event||window.event , e.target||e.srcElement,element,nextSibling||nextElementSibing等等之类的日常需要用到的一些属性的兼容性写法,关于这些,如果有朋友不知道,我改日抽空会把自己封装出的一些小方法贴出来,并讲解一下,如果是大神就一笑而过就好了。
进入正题,今日在使用自己的洪荒之力搭建自己的博客(TaoHuaXia.github.io,正在搭建中,截至目前只完成首页)的时候,偶然发现window.onmousewheel绑定事件的方法并不能在火狐上正常绑定(火狐真是个磨人的小妖精),于是查阅之,主要有以下两点区别:
1.火狐的鼠标滚轮事件名为DOMMouseScroll
2.火狐的鼠标滚轮事件需要使用element.addEventListenr()
其他的主流浏览器都可以使用onmousewheel正常绑定,所以我们可以拿出一个兼容性的写法来专门对付火狐:
if(document.addEventListener){
document.addEventListener('DOMMouseScroll',fn,false);
}//火狐
window.onmousewheel=document.onmousewheel=fn;//IE/Opera/Chrome
同时关于各个浏览器滑动滚轮时的距离问题,这篇博客有很细致的讲解,大家可以移步
至此