前段时间写了一个项目,点击按钮触发click事件,调用接口,后来发现点击一下按钮,接口调用了好几次,就很郁闷。发现是我click事件里嵌套了click才出现此现象。
a.click(function(){
b.click(function(){
console.log("b");
});
});
每点击一次a,就会绑定一次b;假设在点击b之前点了2次a,则在点击b时,出现3次console。
因为:jQuery中的click事件会累计绑定。
解决方法:
1.将嵌套的click事件拿出来,放在外面写。
2.
a.click(function(){
b.unbind();
b.bind("click", function(){
console.log("b");
});
});