DOM0和DOM2

mac2023-02-02  14

DOM0和DOM2

1.语法上的区别 box.onclick=function(){} box.addEventListener('click',function(){}) 2.底层运行机制上的区别 DOM0就是给元素的某个属性绑定方法(有效绑定的方法只有一个) DOM2是基于事件池机制完成,每增加一个绑定的方法,都会往事件池中存放一个...当事件触发会依次执行事件池中的事情 =>发布订阅其实就是模拟的事件池机制 (可以给同一个元素的某个事件绑定多个不同的方法) 3.DOM2中可以给一些特殊的事件类型绑定方法,这些事件类型DOM0不支持绑定,例如:DOMContentLoaded、transitionend... $(document).ready() => $(function(){}) VS window.onload

DOM2的事件池机制

1.基于addEventListener/attachEvent(IE6~8)向事件池中追加方法:新版本浏览器会根据元素和事件类型对新增的方法做重复校验,但是IE6~8不可以 2.当事件行为触发,会把事件池中的方法按照增加的顺序依次执行,但是IE6~8中执行的顺序是不固定的
最新回复(0)