9

我一直在四处寻找当您在 iPad 上滚动网页时会触发哪些事件。

有这个来源: https ://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariWebContent/HandlingEvents/HandlingEvents.html

这表明以下内容被解雇:

ontouchstart="touchStart(event);"

ontouchmove="touchMove(event);"

ontouchend="touchEnd(event);"

ontouchcancel="touchCancel(event);"

问题是如何处理用户轻弹滚动时的动量滚动。我认为 onsroll 事件仅在滚动完成时触发。

有谁知道在动量滚动发生时是否触发了任何事件,以便您可以在页面在此“动量”下滚动时进行检查?

干杯

4

2 回答 2

2

问题是在 iPad 上滚动不会连续触发。它只会在您停止滚动时触发一次。据我所知,你无法解决这个问题。

在桌面上,情况并非如此。在滚动期间,浏览器会连续触发滚动事件。

当我在视差滚动网站上工作时,我注意到了这种行为。在 iOS 上,一切都卡顿了,因为滚动事件只触发了一次。

但是,可以按照此处所述进行模拟:javascript scroll event for iPhone/iPad?

于 2013-12-05T22:46:37.387 回答
0

使用此代码

document.addEventListener('touchmove', function(e) {console.log('touch move', $(window).scrollTop())}, true);

即使在触摸期间它也会触发。

于 2014-09-02T11:59:26.057 回答