与普通浏览器兼容的本地JS绑定滑轮滚动事件

在Web特效中遇到滑轮滚动页面的事件,但是在不同的浏览器中实现页面的方式是不同的。


函数GetData(事件){
var =事件window.event | |;
获取滚动距离(每个滚动条的FF 3或- 3数据,另一个是120或- 120)
VaR数据= e.detail e.wheeldelta | |;
警报(数据);
}

绑定事件方法
如果(document.addeventlistener!attachevent)文件。
{
Document.addEventListener('mousewheel,GetData);
绑定滚动事件
Document.addEventListener('dommousescroll,GetData);
}
伊江
如果(document.attachevent!文件。addEventListener){
document.attachevent('onmousewheel,GetData);
其他{ }
window.onmousewheel = GetData;
}


代码中值得注意的是什么:

1为什么使用document.addeventlistener!document.attachevent区分IE

attachevent和detachevent是IE的一个独特的结合事件绑定事件的方法,该方法只存在于IE.但在IE9 +浏览器,更常见的addEventListener方法实现绑定的事件。在浏览器的document.addeventlistener方法可以排除IE8及其以下的版本,但它包括IE9 +浏览器。所以document.attachevent document.attachevent是用来排除IE9 +浏览器。

2值得注意的是,在FF浏览器没有鼠标滚轮事件,和时间触发滚动dommousescroll。

3,另一个要注意的是,当使用addEventListener绑定事件,没有对事件的名称前面,而加入attachevent结合IE.事件