Js Click事件重复注册的坑
最近做收货地址管理,在删除地址的时候需要先确认删除,然后注册确认删除事件
//#region 确认删除
function confirm(id) {
$('.tipsBlockBox').show();//弹框
$(" #btn_cancel").click(function () {
$(".tipsBlockBox").hide();
});
$("#btn_ok").click(function () {
if (blockSignal) {
blockSignal = false;
$(".tipsBlockBox").hide();
Remove(id);//删除地址
}
});
}
//#endregion
于是每次删除的时候,都会注册btn_ok事件。
造成的结果就是第1次确认删除正常,第2次、第3次…的触发都会依次执行之前注册的事件,这样当然导致随后的删除异常。
解决方法很简单:
$("#btn_ok").unbind().click(function () {
//dosth;
});