把事件捕获和冒泡的过程统称为事件的传播
事件的传播是可以阻止的:
if (e && e.stopPropagation) // 支持W3C的stopPropation()方法 e.stopPropagation() else // 否则,我们得使用IE的方式来取消事件冒泡 window.event.cancelBubble = true;
事实上,捕获阶段是一个和冒泡阶段完全相反的过程,即事件由祖先元素向子元素传播,和一个石子儿从水面向水底下沉一样,要说明的是在IE,opera浏览器中,是不存在这个阶段的。从各浏览器提供的注册事件监听的方法中可见一斑,例如适用于ie,opera的attachEvent,有两个参数,attachEvent(”on” type,fn),而适用于所谓标准浏览器的addEventListener则有三个参数,addEventListener(type,fn,boolean),前面两个参数不用解释,第三个参数boolean,就是决定注册事件发生在捕获阶段还是冒泡阶段,具体参考如下:
true : 捕获阶段
false : 冒泡阶段
联系客服