jQuery 移动图书馆 - 错误滑动检测

jQuery mobile library - buggy swipe detection

所以我的代码中有一个问题。我只想检测左右滑动。我对图书馆提供的其他活动不感兴趣。

我正在使用 jQuery 移动图书馆,但它有问题。

预期行为是我的代码检测左右滑动。

收到行为。第一次滑动被成功检测到,然后没有(或者至少可能是可能不是..)。通常它会检测前 3 次滑动,然后停止检测。

我注意到,在每次滑动后,如果您单击 browser/document,则系统会检测到下一次滑动。

因此,如果您在滑动之间单击 html 文档,它就会起作用。如果你在没有 clicking/tapping 的情况下进行多次滑动,它似乎不起作用。

我在 Chrome 版本 43.x 和 Safari 移动浏览器(Iphone 和笔记本电脑)上进行了测试。我不确定如何解决这个问题。

我尝试过的事情: 为了确保没有其他脚本或我的代码中的某些东西导致这个,我制作了一个 jsfiddle 只包含与此事件有关的事情。还是一样的问题。我也尝试了不同的 jQuery 版本。

我认为这可能是焦点问题,例如弹出警报后文档失去焦点或其他东西,您必须再次单击它。在每个 swipe/alert 之后尝试将焦点设置到 div 或 html 文档,但它似乎没有效果。

我还认为可能是警报引起的,所以我取消了警报并添加了另一种检测滑动的方法,比如添加一个用于检测滑动的计数器,并在每次 html 元素中填充计数检测到滑动。也没有成功。

JS FIDDLE : https://jsfiddle.net/o1Ltq7oL/3/

HTML :

 <div class="container">
        Swipe Me
    </div>

<div id="counter"></div>

Javascript :

var count = 0;

$(".container").on("swipeleft",function(){
        count++;
        $("#counter").html(count);
    });

    $(".container").on("swiperight",function(){
        count++;
        $("#counter").html(count);
    });

css:

.container {
    width:100px;
    height:100px;
    background:black;
    color:white;
}

外部资源:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <script type="text/javascript" src="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>

非常感谢您对此事的意见,并在此先感谢您!

我找不到任何关于此类错误的信息,但看起来这个问题出现在 jQuery Mobile 1.4.4 中。或许您可以尝试 HammerJS 而不是 jQuery Mobile。