2018 年 03 月 06 日
JS中冒泡和捕获
事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。相反的,事件冒泡是自下而上的去触发事件。
任何发生在w3c事件模型中的事件,首是进入捕获阶段,直到达到目标元素,再进入冒泡阶段。
冒泡用的较多。
利用冒泡的原理 把加事件加到父级上,触发执行效果。这就叫事件委托,也称事件代理。
适合用事件委托的事件:click,mousedown,mouseup,keydown,keyup,keypress。
值得注意的是,mouseover和mouseout虽然也有事件冒泡,但是处理它们的时候需要特别的注意,因为需要经常计算它们的位置,处理起来不太容易。
不适合的就有很多了,举个例子,mousemove,每次都要计算它的位置,非常不好把控,在不如说focus,blur之类的,本身就没用冒泡的特性,自然就不能用事件委托了。
参考
http://blog.csdn.net/u011006044/article/details/52452029
https://www.cnblogs.com/moqing/p/5590216.html
https://www.cnblogs.com/liugang-vip/p/5616484.html