例如下面一段代码:
function outFn(){ $('.button').on('click',function(){ console.log('执行click') }) } outFn()
每执行一次outFn函数,都会绑定一个click事件,因此outFn调用了n次之后,button的click事件就有n次,点击button会输出n次 "执行click";
解决方法就是在绑定click事件之前先用off解绑。如下:
function outFn(){ $('.button').off('click') $('.button').on('click',function(){ console.log('执行click') }) }