簡體   English   中英

移動瀏覽器兩次觸發點擊/點擊事件

[英]Mobile Browser fires click/tap event twice

我有一個移動網絡應用程序,單擊該按鈕后它會自動為您創建一個玩家團隊。 第一次沒有任何人警告,因為您沒有隊員,但是,如果您的團隊中已經有人,您將收到一條警告,他們將被刪除。

僅當您快速點擊按鈕時才會發生此錯誤,但是如果在任何時間按住按鈕都不會觸發一次。

有沒有辦法讓一次點擊事件僅觸發一次? 這會在iOS和Android(4.3)上發生嗎?

代碼如下:

$(document).on('click tap','.autoTeam',function(e){
    $.ajax({
        type:"POST",
        url:alink+"assets/scripts/myteam-ajax-0.2",
        data:"page=autoteamCheck&tid="+tid,
        success:function(data2)
        {
            if(data2['totalPlayers'] == 0)
            {
                var c = true;
            }
            else
            {
                c=confirm('Using the auto create will remove all players from your team, are you sure you wish to continue?');
            }
            if(c == true)
            {
                $.ajax({
                    type:"POST",
                    url:alink+"assets/scripts/myteam-ajax-0.2",
                    data:"page=autoteam&tid="+tid+"&lid="+lid,
                    success:function(data)
                    {
                        if(data['error'] == 'Y')
                        {
                            alert(data['message']);
                        }
                        else
                        {
                            window.location.reload();
                        }
                    },
                    dataType:"json"
                });
            }
        },
        dataType:"json"
    });
    e.stopImmediatePropagation();
    e.gesture.preventDefault();
    e.preventDefault(); return false;
});

<input class="button autoTeam" data-role="none" value="Auto Create" type="button"  style="margin-right:20px; font-size:0.8em;"/>

我有同樣的問題。 我的解決方案是添加return false; 在事件處理程序的末尾。 例:

$(document).on("click, tap", ".autoTeam", function(event){
    // do thing
    return false; // double event fix
}); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM