簡體   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