【问题标题】:How can I handle a `touchend` event triggered by scrolling vs. tapping on a list item?如何处理由滚动和点击列表项触发的“touchend”事件?
【发布时间】:2012-11-24 09:38:00
【问题描述】:

我有一个带有divs 的简单列表(在 iOS 上)。我在列表元素上使用touchend 事件来执行操作。我这样做是因为click 事件有大约 500 毫秒的延迟,这让 UI 感觉迟缓。

但是,当我滚动列表时,touchend 事件也会触发。有什么办法可以防止touchend 在我滚动列表时触发,或者检测它是否是由滚动列表引起的?欢迎使用 jQuery 解决方案。

【问题讨论】:

  • 很难说出你真正想要什么。您确实意识到,为了滚动,您需要滑动屏幕,这将触发 touchstart/touchmove/touchend 事件,对吧?
  • 正确,我知道这些事件被调用。如果只使用点击事件,它就可以工作,但会出现延迟问题(大约 500 毫秒,直到点击事件被触发)。
  • 现在我很困惑。您正在开发什么类型的应用程序?它是桌面网络应用程序还是移动网站?最好提供更多细节,也许还有一些演示代码(一个 jsfiddle 就可以了)。
  • 你能把你试过的代码贴在这里吗?
  • 试过tap (jQuery) 事件?

标签: javascript jquery ios


【解决方案1】:

我也有同样的问题,我用 tappy 插件解决了:tappy plugin

只需使用“点击”事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多