FastClick 在 Phonegap 项目中抛出 .on('click') 循环计数

FastClick throws off .on('click') loop count in Phonegap project

我将以下内容附加到 href 标签:

$('body').on('click', '.classidentifier', function(e) 
    {
     DoSomething();
    }); 

DoSomething() 函数包含一个应该触发六次的递增循环:

var DoSomething = function() {
    if (ClickCounter < 6) {
    ClickCounter++  
    DoSomethingElse();
    };  
    if (ClickCounter == 6 ){
    BailYouAreDone();
    ClickCounter = 0; }
    }

在实际点击鼠标的浏览器环境中一切正常。 它在已编译的 PhoneGap 应用程序中也运行良好。

但我厌倦了 .on('click') 事件在触摸屏环境中产生的 300 毫秒延迟,所以我安装了 FastClick.js 库,它监视 touchend 事件并发送一个合成点击 .on('click') 事件。

但现在 DoSomethingElse() 函数触发 > 6 次:有时 7 次,有时 8 次,有时更多,似乎取决于我按下 href 的速度 link。我已经尝试在 DoSomethingElse() 例程中捕获 ClickCounter > 6,但没有任何乐趣。我做错了什么?

这里的其他地方有一个关于确保 .on('click') 事件只触发一次的提示:

$(element).off().on('click', function() {
// function body
});

试试看。