检测水平鼠标滚轮

时间:2011-11-21 13:49:51

标签: jquery

我想在三种情况之间做出区分:

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

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

如果有人知道我如何区分水平和垂直方向,请分享您的提示。

3 个答案:

答案 0 :(得分:8)

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

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

enter image description here

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

在另一个答案中,我提出了bunch of detail about detecting x-axis scrolling