xing-chuan

事件添加、删除,阻止冒泡和浏览器默认行为的兼容性写法
添加事件const addEvent = function(obj, type, fn) { if (obj....
扫描右侧二维码阅读全文
26
2018/06

事件添加、删除,阻止冒泡和浏览器默认行为的兼容性写法

添加事件

const addEvent = function(obj, type, fn) {
  if (obj.addEventListener) {
    obj.addEventListener(type, fn, false)
  }else if (obj.attachEvent) {
    obj.attachEvent('on' + type, fn)
  }
}

移除事件

const removeEvent = function(obj, type, fn) {
  if (obj.removeEventListener) {
    obj.removeEventListener(type, fn, false)
  }else if (obj.detachEvent) {
    obj.detachEvent('on' + type, fn)
  }
}

阻止冒泡事件和浏览器默认行为

const stopEvent = function (e) {
  e = e || window.event
  if (e.preventDefault) {
    e.preventDefault()
    e.stopPropagation()
  }else{
    e.returnValue = false
    e.cancelBubble = true
  }
}

阻止冒泡事件

const stopPropagation = function (e) {
  e = e || window.event
  if (e.stopPropagation) {
    e.stopPropagation()
  }else {
    e.cancelBubble = true
  }
}

阻止浏览器默认行为

const  preventDefault  = function(e) {
    e = e || window.event;
    if(e.preventDefault) {
      e.preventDefault();
    }else{
      e.returnValue = false;
    }
}

获取事件源

const getEventTarget = function (e) {
  e = e || window.event
  var target = e.srcElement?e.srcElement:e.target
  return target
}
最后修改:2018 年 06 月 27 日 11 : 12 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论