IE、chrome、opera、safari 都使用 mousewheel
事件,Firefox 比较特殊,它要使用DOMMouseScroll
事件。
另外Firefox 使用detail
判断滚轮上下,其它使用wheelDelta
。
•Firefox 鼠标滚轮向上滚动是-3,向下滚动是3 •IE、chrome、opera 鼠标滚轮向上滚动是120,向下滚动是-120 •Safari 鼠标滚轮向上滚动是360,向下滚动是-360
所以我们通过如下代码判断滚轮的方向:
$(window).bind('mousewheel DOMMouseScroll', function(event){
if (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) {
// scroll up
}
else {
// scroll down
}
});
注意:jQuery为了跨浏览器一致性,会将的以下属性归一化:
- target
- relatedTarget
- pageX
- pageY
- which
- metaKey
要访问上面未列出的事件属性,需要使用 event.originalEvent
。
此外还可以使用jquery-mousewheel插件。