-
DOM0和DOM2事件绑定的区别?
-
语法上区别
[DOM0] box.onclick = function() {};
[DOM2] box.addEventListener("click",function(){}); -
底层机制上的区别
[DOM0] 就是给元素的某个事件绑定方法(有效绑定的方法只有一个)
[DOM2] 基于事件池机制,每次增加一个方法,就向事件池中增加一个方法,当事件触发时,依次执行其中的方法 ===> 发布订阅模式模拟事件池机制(可以给同一个事件绑定多个不同的方法) -
DOM2中可以给一些特殊的事件类型绑定方法,这些事件DOM0不支持 比如D OMContentLoaded transitionend。。。。
$(document).ready() ===> $(function(){})
window.onload 区别
-
-
DOM2的事件池机制
- 基于addEventListener / attachEvent(IE6-8) 向事件池中增加方法, removeEventListener / dettachEvent .... 新版本的浏览器会对元素和事件类型增加的方法做重复校验---同一个元素同事件同方法,但是IE6-8不能够实现.
- 当事件触发,会按照事件池中方法增加的顺序依次来执行,但是IE6-8执行的顺序不固定的....