无法在touchstart上滚动

时间:2014-02-18 14:17:24

标签: javascript jquery touchstart touchmove

我想在touchstart上添加li个事件而不禁用父级滚动。

目前,它的工作原理。我有timeline上的滚动条,我可以点击li

当我添加touchstart时,我可以点击其中一个li,它比移动设备上的click更好。 但问题是,我无法在timeline ...

上滚动

我可以区分touchstart,长按,touchmove或类似的东西吗?

<ul id="timeline">
  <li></li>
  <li></li>
  ...
  <li></li>
  <li></li>
</ul>

$("#timeline").find(" > li").on("click", function(e){
   e.preventDefault();
   ...
});

我想用:

$("#timeline").find(" > li").on("touchstart click", function(e){
   e.preventDefault();
   ...
});

1 个答案:

答案 0 :(得分:2)

看看这个jQuery touchSwipe plugin

它可以让您检测是长触摸还是短触摸可以解决问题。

E.g:

$(function() {  

    $("#timeline").find(" > li").swipe( {
        longTap:function(event, target) {
            event.preventDefault();
            // further code
        },
        allowPageScroll: "auto"
    });

});

此外,您可以启用页面滚动并定义如何处理:

Page scrolling demo