0

我有一个移动网络应用程序,当点击一个按钮时,它会自动为你创建一个玩家团队。第一次您没有收到任何警告,因为您没有球员,但是如果您的团队中已经有人,您将收到警告说他们将被删除。

此错误仅在您快速点击按钮时发生,但如果您按住按钮任何时间,它只会触发一次。

有没有办法让点击事件只触发一次?这发生在 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;"/>
4

1 回答 1

0

我有同样的问题。我的解决方案是return false;在事件处理程序的末尾添加。例子:

$(document).on("click, tap", ".autoTeam", function(event){
    // do thing
    return false; // double event fix
}); 
于 2014-10-24T15:00:15.890 回答