浏览器兼容(1) - 添加和移除 监听事件


// obj为要绑定事件的元素,ev为要绑定的事件,fn为绑定事件的函数
const addEvent = function(obj, ev, fn) {
  if (obj.addEventListener) {
    obj.addEventListener(ev, fn, false)
  } else if (obj.attachEvent) {
    obj[ev + fn] = function() {
      fn.call(obj)
    }
    obj.attachEvent('on' + ev, obj[ev + fn])
  } else {
    obj['on' + ev] = fn
  }
}
const removeEvent = function(obj, ev, fn) {
  if (obj.removeEventListener) {
    obj.removeEventListener(ev, fn)
  } else if (obj.detachEvent) {
    obj.detachEvent('on' + ev, obj[ev + fn])
  } else {
    obj['on' + ev] = null
  }
}

export default {
  addEvent: addEvent,
  removeEvent: removeEvent
}

相关