首页 > 代码库 > 事件流

事件流

事件冒泡

  • 一般现在浏览器都支持
  • 从最里面的对象触发到最外面的对象。
  • 一般传到document,但ie5.5从<body>跳过<html>到document;ie9、chrome,firefox等会冒泡到window对象

事件捕获

  • netecape唯一支持,但ie9、chrome,firefox,opera等目前也支持。
  • 尽管”dom2级事件“规范要求从document对象开始传播,但这些浏览器都从window对象开始传播
  • 很少用事件捕获,放心用事件冒泡吧~

dom事件流

  • “dom2级事件” 包括三个阶段,事件捕获,处于目标,事件冒泡
  • 这意味着ie9、chrome,firefox,opera等有两次机会再目标对象上操作事件
  • ie9、chrome,firefox,opera支持dom世家牛,ie8及之前的不可以

事件处理程序

  • onclick是dom0级事件处理程序
  • addEventListener和addEvent是dom2级事件处理程序,所以addEventListener会有一个boolean值让你选择冒泡或者捕获
  • ie9、chrome,firefox,opera等都支持dom2级事件处理程序

  但是这个兼容好像并不是特别好

  

<body id=body>    <div>        <button id="text">去空白</button>    </div></body>

 

      

//chrome true->‘BODY‘,‘BUTTON‘ /false ->‘BUTTON‘,‘BODY‘//IE9 true/false ->‘BODY‘//IE8 报错document.getElementById("body").addEventListener(click,function(e) {    alert(this.nodeName);},false);
document.getElementById("body").attachEvent(onclick, function(e) {            alert(this.nodeType);   //ie几下都是弹一次underfined        }); 

 

还可以多研究一下