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';
    
            }
    
  • 相关阅读:
    js 类对象
    图片自动轮播及点击图标切换图片
    js 常用方法
    js-案例 国家-省市-区域之间的三级联动
    JS 基础知识之传智播客2
    JS 基础知识之传智播客1
    div居中
    formatDate 格式化日期 ,给小于10的月日,加0,如01 02 03
    Radiobutton改成文字样式
    如何在Android平台下进行Socket通信
  • 原文地址:https://www.cnblogs.com/Mortallin/p/13525294.html
Copyright © 2011-2022 走看看