我有一个 div 作为用户执行任务(例如,参加比赛)的按钮,如下所示。
<div id="enter_competition_button" class="option_long hovertext" data-hovertext="Click to enter this competition">Enter This Competition</div>
下图是用户单击上述按钮后插入新竞争对手的 jQuery Ajax。
$("#enter_competition_button").click(function(){
$.ajax({
type:"post",
url:"/caseproject/competition/Controller/ajax/enter_competition.php",
data:{username:username,competitionId:competitionID,classBelong:classBelong},
beforeSend: function(){
$("#enter_competition_button").text("Entering...");
},
success: function(data){
if(data==0){
$("#enter_competition_button").text("Failed!");
} else if(data==1){
$("#enter_competition_button").text("Cancel Entry");
$("#enter_competition_button").attr("id", "cancel_competition_button");
} else {
$("#enter_competition_button").text("Error!");
}
}
});
});
一旦插入成功,它就成功地将 div 的 id 从“enter_competition_button”更改为“cancel_competition_button”。我已经为 id 为“cancel_competition_button”的 div 添加了 jQuery 事件处理程序,如下所示。
$("#cancel_competition_button").click(function(){
alert("Canceled");
});
但是,当我单击同一个 div(取消条目)时,jQuery 仍将其识别为“enter_competition_button”而不是“cancel_competition_button”,从而执行第二次插入。
有关解决此问题的任何提示?提前致谢。