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

时间:2018-06-11 17:16:15

标签: javascript ipad mobile safari

在Mobile Safari中滚动时,会触发第一个touchstarttouchmovetouchend事件,但是,如果您仍在滚动,则不会触发其他触摸事件。

对于我的应用程序,这是有问题的,因为用户可以用他们的手指停止滚动,我无法判断是否有手指向下。当手指停止时,您无法设置scrollTop的{​​{1}},或者您可以设置它,并且它会更改,但窗口不会滚动。当用户再次移动他们的手指时,它开始滚动而不是从我设置window的位置,而是他们的手指是否被放下。

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

1 个答案:

答案 0 :(得分:0)

如何像技术一样使用“检测鼠标按下”? 像这样:

var touchStart = false;

function onTouchStart() {
   touchStart = true;
}
function onTouchEnd() {
   touchStart = false;
}
function someFunction() {
   if (touchStart) ...;
   else ...;
}