使用以下代码块,当我第一次按#transfer-button
时,它会使用正确的对话框进行警报,但在刷新页面之前第二次执行时,会在第一个对话框中继续排序,直到单击最后一个对话框。例如,我按下“WIlliam”,它会出现一个对话“威廉”,然后我按下“露西”并弹出一个对话框,说“威廉”会弹出,然后一旦关闭,“露西”就会立即弹出同样。我该如何解决这个问题?
$("#person1").click(function () {
$("#transfer-info").html("Transfer to Lucy.");
$("#transfer-button").click(function () {
alert("Lucy");
})
})
$("#person2").click(function () {
$("#transfer-info").html("Transfer to William.");
$("#transfer-button").click(function () {
alert("William");
})
})
答案 0 :(得分:1)
切换时,您只是添加另一个事件侦听器,因此最终会有多个事件侦听器,并且两个事件都会触发。
你可以这样做。
$("#person1").click(function () {
$("#transfer-button").unbind('click');
$("#transfer-info").html("Transfer to Lucy.");
$("#transfer-button").click(function () {
alert("Lucy");
});
});
$("#person2").click(function () {
$("#transfer-button").unbind('click');
$("#transfer-info").html("Transfer to William.");
$("#transfer-button").click(function () {
alert("William");
});
});
答案 1 :(得分:0)
试
$("#person1").click(function () {
$("#transfer-info").html("Transfer to Lucy.");
$("#transfer-button").off('click')
$("#transfer-button").click(function () {
alert("Lucy");
})
})
$("#person2").click(function () {
$("#transfer-info").html("Transfer to William.");
$("#transfer-button").off('click')
$("#transfer-button").click(function () {
alert("William");
})
})