JavaScript经典实例(浏览器事件)

跨浏览器事件

1.跨浏览器添加事件

function addEvent(obj,type,fn){
  if(obj.addEventListener){
    obj.addEventListener(type,fn,false);
  }else if(obj.attachEvent){//IE
    obj.attchEvent('on'+type,fn);
  }
}

2.跨浏览器移除事件

function removeEvent(obj,type,fn){
    if(obj.removeEventListener){
        obj.removeEventListener(type,fn,false);
    }else if(obj.detachEvent){//兼容IE
        obj.detachEvent('on'+type,fn);
    }
}

3.跨浏览器阻止默认行为

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

4.跨浏览器获取目标对象

function getTarget(ev){
    if(ev.target){//w3c
        return ev.target;
    }else if(window.event.srcElement){//IE
        return window.event.srcElement;
    }
}

5.跨浏览器获取滚动条位置

function getSP(){
    return{
        top: document.documentElement.scrollTop || document.body.scrollTop,
        left : document.documentElement.scrollLeft || document.body.scrollLeft;
    }
}

6.跨浏览器获取可视窗口大小

function  getWindow () {
    if(typeof window.innerWidth !='undefined') {
        return{
            width : window.innerWidth,
            height : window.innerHeight
        }
    } else{
        return {
            width : document.documentElement.clientWidth,
            height : document.documentElement.clientHeight
        }
    }
},

 

posted @ 2020-05-25 13:58  ssjd  阅读(380)  评论(0编辑  收藏  举报