传统 on<事件类型> (例如onclick)注册(L0)
- 对同一个对象,后面注册的相同类型的事件会覆盖前面注册的事件
- 直接使用null赋值就可以实现事件的解绑,例如
对象.onclick = null
- 都是冒泡阶段执行的
事件监听注册(L2)
- 语法:
addEventListener(事件类型, 事件处理回调函数, 是否使用捕获)
用来注册事件 - 后面注册的同类型事件不会覆盖前面注册的事件,例如,可以注册两个点击事件
- 可以通过第三个参数去确定是在冒泡或者捕获阶段执行
- 如果要解绑事件,必须使用
removeEventListener(事件类型, 事件处理函数, 获取捕获或者冒泡阶段)
- 匿名函数无法被解绑