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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了触摸事件仅在iPad iOS 11.4上的Mobile Safari中滚动时触发“一次”相关的知识,希望对你有一定的参考价值。

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

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

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

答案

如何使用“检测点击mousedown”如技术?就像是:

var touchStart = false;

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

以上是关于触摸事件仅在iPad iOS 11.4上的Mobile Safari中滚动时触发“一次”的主要内容,如果未能解决你的问题,请参考以下文章

悬停 CSS 上的 iPad/iPhone 触摸事件

UIButton 上的 UIControl.State.Highlighted 图像仅在第一次触摸事件后有效

触摸事件仅在 iOS 9 的左屏幕边缘附近延迟。如何解决?

`UIApplication.shared.canOpenURL(:)` 方法在 iOS 11.4(仅限 iPad 设备)上不起作用?

iOS 7 onchange 事件在 iPad 3+Mini 中被破坏 // 需要解决

仅在 320x480 区域检测到 iPad 触摸