对盒子内部的盒子添加跟本身盒子相同的事件的时候,需要小心谨慎一点。
诸如:
从表象上看似乎没有什么太大问题,但是却存在一个致命的问题,就是每次点击box的时候,都会给test添加一个点击事件,而添加的点击事件并不会相互覆盖,是可以多次添加的,除非是同一事件,这就会造成,在后面的点击过程中会多次执行test的点击事件,类似于第二次点击执行两次,第三次点击执行三次……
所以需要使用只添加一次事件one()。
one()
函数用于为每个匹配元素的一个或多个事件绑定一次性事件处理函数。
最简单的做法是:
或者也可以在给test添加点击事件之前,移除他本身已经具有的点击事件,off或者unbind均可,unbind底层也是使用off实现的。