Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在移动设备上滚动/滑动时防止touchstart事件_Javascript_Iphone_Mobile_Scroll_Swipe - Fatal编程技术网

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

Javascript 在移动设备上滚动/滑动时防止touchstart事件,javascript,iphone,mobile,scroll,swipe,Javascript,Iphone,Mobile,Scroll,Swipe,我有一个网站,需要在移动设备上工作。如果在尝试向下滚动页面时触摸链接,则会触发touchstart事件(在大多数情况下,加载新窗口,但在标题的情况下,通过菜单导航)。我希望能够在不触发touchstart事件的情况下滚动。我如何才能做到这一点?我想出了一个解决方案,适用于页面上大多数可点击的项目: $(document).bind("touchstart", function (e) { touchStartPos = $(window).scrollTop(); }).bind("to

我有一个网站,需要在移动设备上工作。如果在尝试向下滚动页面时触摸链接,则会触发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;
    }
});
$(文档).bind(“touchstart”,函数(e){
touchStartPos=$(窗口).scrollTop();
}).bind(“touchend”,函数(e){
var distance=touchStartPos-$(窗口).scrollTop();
如果(距离>20 | |距离<-20){
e、 防止违约;
}
});

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

这可能会回答您的问题不,这似乎是另一个问题。