zoukankan      html  css  js  c++  java
  • JS的一些兼容性问题

    1.1获取行外样式currentStyle和getComputedStyle

     function getStyle(obj, attr) {
                if (window.getComputedStyle) {
                	//chrome
                    return window.getComputedStyle(obj)[attr];
                } else {
                		//IE
                    return obj.currentStyle[attr];
                }
            }
    

    1.2 event事件的兼容问题

    document.onclick = function(ev) { //MouseEvent
                var ev = ev || window.event;
                console.log(ev); //事件对象
            };
    

    1.3 阻止冒泡

    function stop(ev){
    	var ev = ev || event;
                if (ev.stopPropagation) {
                    ev.stopPropagation();
                } else {
                    ev.cancelBubble = true;
                }
    
    }
    

    1.4 阻止默认行为

    	    if (ev.preventDefault) {
                    ev.preventDefault(); //标准的
                } else {
                    ev.returnValue = false; //非标准的
                }
    

    1.5 获取事件源兼容:

    var element=ev.target||ev.srcElement
    

    1.6 事件绑定兼容

    if (addEventListener) {
    
    	addEventListener();}
    
    else
    
    	{ attachEvent();}
    

    1.7 键盘兼容

    var code=ev.which||ev.keyCode
    

    1.8 创建ajax对象

     var xhr = new XMLHttpRequest()     ||    new ActiveXObject("Microsoft,XMLHTTP")
    

    1 .9 获取浏览器滚动条距离

    var scrollTop=document.documentElement.scrollTop||document.body.scrollTop
    

    ---------------————

    --------------------------------------
    关于使用firstChild, lastChild等,获取第一个 / 最后一个元素节点是产生的问题
    
            --IE6 - 8下: firstChild, lastChild, nextSibling, previousSibling, 获取第一个元素节点
    
                (高版本浏览器IE9 +, FF, Chrome不兼容, 其获取的空白文本节点)
    
            --高版本浏览器下: firstElementChild, lastElementChild, nextElementSibling, previousElementSibling
    
                (低版本浏览器IE6 - 8不兼容)
    
            --兼容写法: 找到ul的第一个元素节点, 并将其背景色变成红色
    
            var oUl = document.getElementById('ul');
    
            if (oUl.firstElementChild) {
    
                //高版本浏览器
    
                oUl.firstElementChild.style.background = 'red';
    
            } else {
    
                //IE6-8
    
                oUl.firstChild.style.background = 'red';
    
            }
    
  • 相关阅读:
    通过intent启动Activity
    ubuntu12.04的NFS配置
    内核添加对yaffs2文件系统的支持
    linux内核移植到S5pv210
    nand驱动移植
    tiny210V2 Uboot kernel filesystem 烧写和启动
    linux C++通过ntp协议获取网络时间
    tiny210移植linux内核(3.0.8)杂项
    Ubuntu系统中Sogou输入法面板问题解决方案
    Ubuntu系统中登陆阿里云服务器的方法
  • 原文地址:https://www.cnblogs.com/Mortallin/p/13525294.html
Copyright © 2011-2022 走看看