【问题标题】:iPad scrolling - what events fire during scrolling?iPad滚动 - 滚动期间触发哪些事件?
【发布时间】:2013-01-08 04:51:51
【问题描述】:

我一直在寻找当你在 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 事件。

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

干杯

【问题讨论】:

  • 您是否检查过在动量滚动期间窗口上的scroll 事件是否触发?示例:$(window).scroll(function(){ console.log('scrolling') });
  • 目前无法在 iPad 上open a dev console。但是,根据我有限的经验,当窗口动量滚动时它不会触发。
  • 您可以使用 Safari Web Inspector 在 iOS 上调试 Safari。此功能已around for a while.

标签: javascript jquery ipad web-applications


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    使用此代码

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

    即使在触摸时也会触发。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多