js原生常用兼容方法

获取节点数据

function getStyle(element, attr) {

        if(element.currentStyle) {

                return element.currentStyle[attr];

        } else {

                return window.defaultView.getComputedStyle(element, false)[attr];

        }

}

添加事件

addHandler:function(element,type,handler){

    if(element.addEventListener){//检测是否为DOM2级方法

        element.addEventListener(type, handler, false);

    }else if (element.attachEvent){//检测是否为IE级方法

        element.attachEvent("on" + type, handler);

    } else {//检测是否为DOM0级方法

        element["on" + type] = handler;

    }

}

移除事件

removeHandler:function(element, type, handler){

      if (element.removeEventListener){

          element.removeEventListener(type, handler, false);

      } else if (element.detachEvent){

          element.detachEvent("on" + type, handler);

      } else {

          element["on" + type] = null;

      }

  }

阻止浏览器默认事件

preventDefault: function(event){

        if (event.preventDefault){

            event.preventDefault();

        } else {

            event.returnValue = false;

        }

    }

阻止冒泡

stopPropagation: function(event){

        if (event.stopPropagation){

            event.stopPropagation();

        } else {

            event.cancelBubble = true;

        }

    }

事件目标对象兼容

var src = event.target || event.srcElement;

获取页面滚动的距离,并处理兼容性

function getScroll(){

    return {

        scrollTop:document.documentElement.scrollTop || document.body.scrollTop,

        scrollLeft:document.documentElement.scrollLeft || document.body.scrollLeft

    }

}

cookie的常用操作:

cookie存值:

function setCookie(cname,cvalue,exdays){

    var d = new Date();

    d.setTime(d.getTime()+(exdays*24*60*60*1000));

    var expires = "expires="+d.toGMTString();

    document.cookie = cname+"="+cvalue+"; "+expires;

}

cookie取值:

function getCookie(cname){

    var name = cname + "=";

    var ca = document.cookie.split(';');

    for(var i=0; i<ca.length; i++) {

        var c = ca[i].trim();

        if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }

    }

    return "";

}

cookie监测:

function checkCookie(){

    var user=getCookie("username");

    if (user!=""){

        alert("欢迎 " + user + " 再次访问");

    }

    else {

        user = prompt("请输入你的名字:","");

          if (user!="" && user!=null){

            setCookie("username",user,30);

        }

    }

}

cookie删除:

function deleteCookie(c_name){

    var exdate = new Date();

    exdate.setDate(exdate.getDate()-1);

    document.cookie=c_name+ "=1;expires="+exdate.toGMTString();

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容