[英]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.