JavaScript IE、chrome 事件监听

绑定事件

chrome

1addEventListener('click', fn, false)
  • 事件(不带 on),函数
  • 默认 false 冒泡触发,true 捕捉阶段触发

IE

1attachEvent('onclick', fn)
  • 事件(带 on),函数

解绑事件

1removeEventListener(oEvent, fn) // chrome
2detachEvent(oEvent, fn) // IE

区别:

  • 事件:chrome 不带 on IE 带 on
  • 函数执行顺序:chrome 顺序执行 IE 逆序执行
  • 是否支持捕捉触发:chrome 支持 IE 只支持冒泡
  • this 指向:chrome 调用对象 IE window 对象

兼容

1el.addEventListener ? el.addEventListener(event, fn, false) : el.attachEvent(`on${event}`, fn)
2el.removeEventListener ? el.removeEventListener(event, fn) : el.detachEvent(`on${event}`, fn)