使用触摸设备触发鼠标滚轮事件

时间:2017-06-22 14:58:40

标签: javascript jquery touch mousewheel

我有一个事件绑定到鼠标滚轮,我在其中使用事件进行一些计算,我希望能够使用相同的功能从触摸设备执行相同的计算。

我的代码就像:

$('#element').bind("mousewheel DOMMouseScroll", function(event) {
            event.preventDefault();
            if (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0)
                //do stuff
            else {
               //do other stuff
            }
        });

编辑:从我明白的评论中我并不完全清楚,我的目标是获得像“ wheelDelta ”这样的值,让我认识到用户是向上或向下滚动(触摸)

1 个答案:

答案 0 :(得分:0)

这可能不是合适的解决方案,但您可以这样做。

  var lastScroll = 0;

  $('#element').on("scroll", function() {
    var st = $(this).scrollTop();
    if (st > lastScroll){
       // downscroll code
       //$(this).trigger("mousewheeldown");
    } else {
      // upscroll code
      //$(this).trigger("mousewheelup");
    }
    lastScroll = st;
    $(this).trigger("mousewheel");
  });

我希望有帮助:)