事件流解析,阻止冒泡和默认行为

事件流描述的是从页面接收事件的顺序,分为三种

1事件冒泡流

IE的事件流为冒泡流,即从最具体的元素向上传播到最不具体的节点,所有现代浏览器都支持冒泡流。

2事件捕获流

Netscape的事件流为捕获流,和冒泡流相反,老版本不支持,慎用。

3DOM2级事件流

DOM事件流包括三个阶段,事件捕获阶段、处于目标阶段、事件冒泡阶段。

我们常用的冒泡会有一些负面影响,我们该怎么办呢?

function stopBubble(e) {

//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.stopPropagation )
    //因此它支持W3C的stopPropagation()方法
    e.stopPropagation();
else
    //否则,我们需要使用IE的方式来取消事件冒泡
    window.event.cancelBubble = true;
}
 
阻止默认行为的方法
  1. function stopBubble(e) {  
  2.     //如果提供了事件对象,则这是一个非IE浏览器  
  3.     if(e && e.stopPropagation) {  
  4.     //因此它支持W3C的stopPropagation()方法  
  5.     e.stopPropagation();   
  6.     } else {  
  7.     //否则,我们需要使用IE的方式来取消事件冒泡   
  8.     window.event.cancelBubble = true;  
  9.     }  
  10.       
  11. }  
posted @ 2017-04-16 18:59  小明学长  阅读(184)  评论(0编辑  收藏  举报