被老师问到了关于两者的区别,但是脑子中却很模糊,于是整理了以下文档:
1.传统注册事件:后面的事件会覆盖前面的事件
事件监听注册事件:addEventListener可以对同一个元素绑定多个事件(里面的事件类型是字符串 ,必定加引号 ,而且不带on),执行顺序从上到下依次执行
2.传统解绑方式使用的是指针指向null,举例:element.οnclick=null
事件监听采用removeEventListener来删除事件,注意事项:如果addEventListener添加的是一个匿名函数,则removeEventListener不能移除匿名函数,故可以给函数命名或使用外部函数
3.传统事件一般只能得到冒泡阶段;而事件监听有冒泡阶段,也可以有捕获阶段(有些事件是没有冒泡的,比如onblur onfocus onmouseenter onmouseleave)
4.onclick为DOM0级事件绑定,addEventListener为DOM2级事件绑定。DOM0级事件兼容任何浏览器,DOM2级事件不兼容IE9以下版本,IE678只能使用attachEvent,没有addEventListener
5.addEventListener对任何 DOM 元素都是有效的,而不仅仅只对 HTML 元素有效。