在移动设备上滚动/滑动时防止touchstart事件

时间:2015-07-14 18:43:14

标签: javascript iphone mobile scroll swipe

我的网站需要在移动设备上运行。如果我在尝试向下滚动页面时触摸链接,则会触发touchstart事件(在大多数情况下会加载新窗口,但在标题的情况下,会在菜单中导航)。我希望能够滚动而不触发touchstart事件。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

我找到了一个适用于页面上大多数可点击项目的解决方案:

$(document).bind("touchstart", function (e) {
    touchStartPos = $(window).scrollTop();
}).bind("touchend", function (e) {
    var distance = touchStartPos - $(window).scrollTop();
    if (distance > 20 || distance < -20) {
        e.preventDefault;
    }
});

我页面上的一些项目似乎没有被绑定,但除了执行一般的$(document).bind()之外,你可以根据需要专门绑定每个项目。