我有一个带有按钮的页面,可以加载模态。
在这个模态中我显示数据。
该数据可以例如由某个表的5个条目组成 删除条目后,将刷新数据。添加条目时也是如此。
现在,当我通过点击它以外的方式关闭模态并重新打开它。附加到第一个模态的函数仍然存在并触发。 所以,如果我添加一个条目。执行此操作的ajax和脚本会被触发/调用两次。
代码:
$(document).on('click','.remove_team',function(){
var tournament_id = $(this).data('tourn');
$.ajax({
url :'./organisations/waiting_list/team_assignement.php',
type :'POST',
data : {
action : 'remove_team',
team_id : $(this).data('team'),
tourn : $(this).data('tourn')
},
success : function(){
LoadParticipantList(tournament_id);
}
})
})
function LoadParticipantList(tournament){
$.ajax({
url :'./organisations/waiting_list/team_assignement.php',
type :'POST',
data : {
action :'fetch_team_participants',
tournament : tournament
},success : function(res){
res = jQuery.parseJSON(res);
$("#counter_"+tournament).html(res.count);
$("#div_"+tournament).html(res.teams);
}
})
}
删除点击处理程序然后再直接添加以便ajax触发的正确方法是什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以做的是在模态弹出窗口外添加点击事件。此次点击活动会停止您不想要的治疗......
$('documents').bind('click', function(e) {
if($(e.target).closest('#your_modal_id').length == 0) {
//click happened outside the modal popup : stopping treatments
}
});
还会添加一个停止传播事件,以避免不必要的治疗...
$('#your_modal_id').click(function(event){
event.stopPropagation();
});
希望有所帮助
答案 2 :(得分:0)
jQuery .off
方法将完成这项工作。