繁体   English   中英

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

[英]Prevent touchstart event when scrolling/swiping on mobile devices

我有一个需要在移动设备上工作的网站。 如果在尝试向下滚动页面时触摸链接,则会触发touchstart事件(在大多数情况下,加载新窗口,但在页眉的情况下,通过菜单进行导航)。 我希望能够滚动而不会触发touchstart事件。 我该怎么做?

我想出了一种适用于页面上大多数可点击项目的解决方案:

$(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()之外,您还可以根据需要专门绑定每个项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM