触摸事件仅在iPad iOS 11.4上的Mobile Safari中滚动时触发"一次"

ove*_*ove 13 javascript safari mobile ipad

虽然滚动在移动Safari浏览器,第一touchstart,touchmovetouchend事件被解雇但是,如果你还在滚动额外的触摸事件不会被触发.

对于我的应用程序,这是有问题的,因为用户可以用他们的手指停止滚动,我无法判断是否有手指向下.当手指下来,你不能设置scrollTopwindow或者说你可以设置它,它改变,但窗口不滚动.当用户再次移动他们的手指时,它开始滚动而不是从我设置的位置滚动scrollTop但是他们的手指是否被放下.

请不要评论我为什么要更改scrollTop窗口; 让我们接受这是一个优先要求.有关如何检测是否有手指向下的任何想法?

Mak*_*War 1

使用“检测鼠标按下时的点击”之类的技术怎么样?就像是:

var touchStart = false;

function onTouchStart() {
   touchStart = true;
}
function onTouchEnd() {
   touchStart = false;
}
function someFunction() {
   if (touchStart) ...;
   else ...;
}
Run Code Online (Sandbox Code Playgroud)