• js中的一些兼容问题


    ①获取非行内样式:

    高版本浏览器为:window.getComputedStyle(obj,伪类)["属性"]  不获取伪类的时候可以不写或者写false/null;

    低版本浏览器为:元素(obj).currentStyle.属性(attr)

    兼容写法:

    if(window.getComputedStyle){
        return window.getComputedStyle(obj,false)[attr]      
    }else{
        return obj.currentStyle.attr
    }        

    ②event事件对象:

    IE:window.event

    非IE:e

    兼容写法:

    var e = e || window.event

    ③获取键盘的按键值:

    IE8及以下版本不兼容which

    兼容写法:

    var x = event.which || event.keyCode      ||      var x = e.which || e.keyCode

    ④阻止浏览器的默认行为(类似右键单击浏览器会弹出一个菜单,拖拽文字,超链接中的控连接点击会刷新等)

    兼容写法:

    e.preventDefult?e.preventDefult():e.returnValue = false      //也可以写为return false 但是要记住遇到return 下面的代码不再执行

    ⑤阻止事件冒泡:

    兼容写法:

    e.stopPropagation?e.stopPropagation():e.cancelBubble = true 

    ⑥事件监听:

    obj.addEventListener("事件去掉on",function(){},布尔值)
    obj.attachEvent("事件带on",function(){})  //IE

    ⑦获取事件源:

    var target = e.target || e.srcElement;

    ⑧鼠标在某对象内部偏移量

    var disX = e.offsetX || e.layerX;

    ⑨获取滚动条距离

    var top = document.documentElement.scrollTop || document.body.scrollTop;
  • 相关阅读:
    归并排序
    [转]html5 Canvas画图教程(1)—画图的基本常识
    [转]浏览器工作原理
    [转]Web开发者和设计师必须要知道的 iOS 8 十个变化
    mobile web开发(1) html页面头部基本设置
    差点难产的HTML5
    感觉离开了好久
    Java----区别
    MySQL---sql语句优化
    MySQL---数据库优化
  • 原文地址:https://www.cnblogs.com/cqdd/p/10279028.html
Copyright © 2020-2023  润新知