首页 > 代码库 > 事件流
事件流
事件冒泡
- 一般现在浏览器都支持
- 从最里面的对象触发到最外面的对象。
- 一般传到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 });
还可以多研究一下
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。