繁体   English   中英

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')事件在触摸屏环境中产生的300ms延迟,因此我安装了FastClick.js库,该库监视touchend事件并将合成点击发送到.on('click' )事件。

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

在其他地方,这里有一个技巧可确保.on('click')事件仅触发一次:

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

试试看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM