js中的滚轮事件onmousewheel
和滚动事件onscroll
是两个不同的事件,这一点一定要区分开。一个很好的表现为:
当我们在使用鼠标滚轮滑动滚动条的时候,滚轮事件和滚动事件会同时进行,但如果只是鼠标右键拖动滚动条,则只会触发滚动事件。
1. firefox滚轮事件绑定兼容
在firefox浏览器中,并没有onmousewheel事件,因此也不能使用DOM0级事件进行滚轮事件的绑定,那么,在firefox中,该怎么绑定滚轮事件呢?
我们可以采用DOM2级事件绑定滚轮事件,不过需要注意的是,在firefox中滚轮事件的事件类型是 DOMMouseScroll
,具体代码如下:
dom.addEventListener("DOMMouseScroll", function(e) {
// 这里是事件函数主体
})