我将以下内容附加到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()函数触发&gt; 6次:有时7次,有时8次,有时更多次,似乎取决于我按下href链接的速度。我已尝试捕获ClickCounter&gt; 6在DoSomethingElse()例程中,但没有快乐。我做错了什么?
答案 0 :(得分:1)
其他地方有一个提示,确保.on('click')事件只触发一次:
$(element).off().on('click', function() {
// function body
});
试试吧。