遇到一个bug,点击同一button会发送多个ajax请求,每次点击会累加发送之前的请求。 原因是同一button可多次注册多个事件。
$('#btn').on('click', function(){
console.log('button click1');
});
$('#btn').on('click', function(){
console.log('button click2');
});
上面的代码,btn同时注册了两个click事件,每次btn点击都会有两次输出。可通过off函数remove掉之前的click之后再重新注册新click事件,如下:
$('#btn').on('click', function(){
console.log('button click1');
});
$('#btn').off('click').on('click', function(){
console.log('button click2'); //only this output
});