冒泡、捕获的问题

1.事件流描述的是从页面接收事件的顺序。

2.IE的事件流叫做事件冒泡,即事件开始时由最具体的元素来接收事件,然后逐级向上传播到较为不具体的节点;

3.Netscape团队提出的另外一种事件流叫做事件捕获。事件捕获的思想是不太具体节点最先接收事件,然后具体的节点应该最后接收到事件。

4.DOM2级事件规定事件流包括三个阶段:事件捕获阶段、出于目标阶段、事件冒泡阶段。首先发生的是事件捕获,为截获事件提供了机会,然后是实际的目标接收到事件。

   最后是冒泡阶段,可以对这个阶段的事件作出响应。

5.取消事件冒泡:原因---只希望事件发生在目标元素而不是父元素上。方法:添加取消事件冒泡的方法;

6.不是所有的事件都可以冒泡或捕获,例如:blur、focus、load、unload

//阻止事件冒泡的通用函数
function stopBubble(e){
// 如果传入了事件对象,那么就是非ie浏览器
  if(e&&e.stopPropagation){
    //因此它支持W3C的stopPropagation()方法
    e.stopPropagation();
  }else{
    //否则我们使用ie的方法来取消事件冒泡
    window.event.cancelBubble = true;
  }
}

参考文档:

http://www.cnblogs.com/zhenn/archive/2011/02/20/1959059.html

http://www.cnblogs.com/zhenn/archive/2011/02/19/1958748.html

http://www.liloy.info/archives/103.html

posted @ 2012-12-05 09:41  沙漠孤鹰1140  阅读(126)  评论(0编辑  收藏  举报