iPad 快速触摸的问题,当使用 jQuery animate 和 scrollTop() 时

Problems with iPad rapid touches, when using jQuery animate and scrollTop()

本文关键字:animate jQuery scrollTop 触摸 问题 iPad      更新时间:2023-09-26

我正在为Web应用程序构建用户界面。

结构是这样的。

    $("#scroll-down").on("click", function() {
  thumbnails.stop(true, true).animate({
    scrollTop: '+=300'
  }, 100);

我使用两个滚动按钮上下滚动div,因为div 中的项目是可拖动的,如果您尝试通过滑动来滚动它只会拾取缩略图而不是滚动。

我使用的方法在桌面和安卓上都能完美运行。在iOS(特别是带有chrome或safari的iPad)上,我遇到了一个奇怪的问题,当用户住院并在滚动按钮上多次快速点击时,滚动无法响应(即:向下按钮上的10次点击不会将您带到底部)。几乎就像 stop() 不起作用一样。

有什么想法/建议吗?

谢谢!

好的,我想出了答案,这有点愚蠢,我有点击的事件侦听器(在 iPad 的情况下点击)。当快速单击桌面时,它会起作用 - chrome 将它们视为多次点击。但是当在iPad上快速点击时 - iOS(或Safari)将它们作为双击,因此它们不会正确触发我的事件。使侦听器用于"单击dblclick",这解决了问题。

这是给可能发现自己处于同样情况的其他人的:

    $("#scroll-down").on("click dblclick", function() {
      thumbnails.stop(true, true).animate({
      scrollTop: '+=300'
    }, 100);