检测水平鼠标滚轮

我想对三种情况进行区分:

e.preventDefault(); if(Mousewheel.direction = Left) base.goForward(); else if(Mousewheel.direction = Right) base.goBack(); else{ //Doing normal slide 

但我找不到任何指示鼠标滚轮是水平还是垂直的东西,插件鼠标滚轮的唯一返回,即delta和event。

如果有人知道如何在水平和垂直方向上进行区分,感谢您分享您的提示。

更新 :我用我的笔记本电脑垫测试它和event.originalEvent.wheelDeltaX确实是你的答案。

使用一些javascript调试工具,将断点放入事件处理程序并检查事件对象。

在此处输入图像描述

有一些有趣的属性,如event.originalEvent.wheelDeltaXevent.originalEvent.wheelDeltaY 。 我没有水平滚动鼠标来测试它,但这可能是你的解决方案。

大多数滚轮驱动器都有一个选项,可以在按住Shift键时将垂直滚动更改为水平。 尝试检测一下。

您可以在IE9,IE10,Firefox,Safari和Chrome中执行此操作。 目前,不同的浏览器都有一个需要注册的不同事件(尽管它们最终都会集中在新的W3C标准onwheel事件上)。

在另一个答案中,我提出了一些关于检测x轴滚动的细节 。