点击滚动动量是马车

时间:2012-11-07 16:10:14

标签: jquery ios jquery-mobile ios6 touch

我在iOS上使用“新”CSS属性来实现滚动动力-webkit-overflow-scrolling。我有一个<div>列表,您可以滚动并选择,以便选择器消失,所选项目放在其他位置。问题是如果项目A在位置(X,Y);我向上滑动向下滚动,当滚动动量激活时,我再次点击位置(X,Y),其中项目A曾经是,但现在由向上移动的项目B占据,项目A是被选中的项目

视频价值一百万字:https://www.youtube.com/watch?v=mXh28IY3wIU

这是一个已知的错误吗?我正在使用jQuery的移动事件'tap',如下所示:

$selector.on('tap', '.act-item-inner', function(e){
    e.preventDefault();
    var $selected=$(this);
    [...]
}

如您所想,$ selector是包装器,$ selected是项目B

1 个答案:

答案 0 :(得分:0)

浏览iOS浏览器上的网站时

  1. 从您的网站截取屏幕截图
  2. 并冻结JavaScript-Engine(包括所有JavaScript- / DOM-Events)。
  3. 所以是的,这是众所周知的。但它的设计与设计相似。 您可以通过setTimeoutsetInterval将一些消息打印到控制台来观察此行为。您将看到在弹性滚动期间不执行它们。

    我建议当引擎解冻时,这会在您的特定用例中导致竞争条件。