Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
由于某种原因,如果用户在触发 touchend 事件之前滚动,则 setTimeout 不会在 touchend 事件处理程序中触发。如果用户不滚动,则 setTimeout 会按预期触发。这似乎是 iOS 6.0 版的问题,而在 6.1 版中可能不是问题。
在您的 iOS 设备/模拟器上打开此链接以查看示例:
按页面上的任意位置而不滚动并释放。该页面将按预期变为绿色。
然后,按页面上的任意位置,滚动并松开,页面不会变绿。
http://jsbin.com/aWamaHu/8
打开此链接查看代码
http://jsbin.com/aWamaHu/8/edit
我找到了答案。显然,在 iOS 6 及以下版本中,所有 javascript 在用户滚动时都会暂停。
浏览此处获取更多信息:
如果其中有 setTimeout,则不会调用 iOS 6 js 事件函数