开发中复杂嵌套时,时常会导致父级事件操作累积在子级身上,相当于子级事件重复执行,即事件累积。类似于定时器的多次叠加

e.g.

HTML:

1     <div>
2       <span>123</span>
3     </div>

jQuery:

1     <script>
2         $('div').click(function() {
3           $('span').click(function() {
4             console.log(123)
5           })
6         })
7     </script>

结果:点击div 5次,此时当点击一次span时,监测窗口console.log(123)就会打印 

解决办法:.off() 

      用off()将己身上的 此前事件操作全部清除,这样就可以避免父级事件操作对自身事件的累积
1     <script>
2       $('div').click(function() {
3         $('span').off().click(function() {
4             console.log(123)
5           })
6       })
7     </script>

结果:点击div 5次,此时当点击一次span时,监测窗口console.log(123)只会打印