JS中常见的兼容

Posted wu0379

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中常见的兼容相关的知识,希望对你有一定的参考价值。

1.阻止事件冒泡

  e.stopPropagation()   ||    e.cancelBubble

function stopBubble(e){
    if (e.cancelBubble) {
        e.cancelBubble = true;
    }else{
        e.stopPropagation();
    }
}

2.获取非行间样式

  getcomputedStyle()    参数1:当前对象      参数2:伪类选择器,通常不会使用,用false代替

  currentStyle()              语法:对象.current[attr]

function getStyle(obj,attr){    //获取非行间样式,obj是对象,attr是值
    if(obj.currentStyle){       //针对ie获取非行间样式       
        return obj.currentStyle[attr];
    }else{
        return getComputedStyle(obj,false)[attr];       //针对非ie
    }
}

3.获取className节点的元素

function elementsByClassName(node, className){
    var res = [];
    //查找node所有的子节点
    var nodes = node.getElementsByTagName("*");
    for(var i = 0; i < nodes.length; i++){
        if(nodes[i].className == className){
            res.push(nodes[i]);
        }
    }
    return res;
    
}

4.target事件属性

  var target = e.target || window.event.srcElement

5.事件中兼容性问题

  var e = event || window.event

6.scrollTop滚动条距离和clientWidth

var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
var windowWidth = document.documentElement.clientWidth || document.body.clientWidth;

 7.事件监听器

  非IE:    oDiv.addEventListener(‘click‘,fn,false);

      oDiv.removeEventListener r(‘click‘,fn,false);

  IE下: oDiv.attachEvent();  oDiv.detachEvent();

8.阻止默认事件

  e.preventDefault();

  window.event.returnValue = false;

    if(e.preventDefault){
        e.preventDefault();
    }else{
        window.event.returnValue = false;
    }
    return false;

9.键盘事件

  var eve = eve || window.event

  var keyC = eve.keyCode || eve.which

以上是关于JS中常见的兼容的主要内容,如果未能解决你的问题,请参考以下文章

十条jQuery代码片段助力Web开发效率提升

原生js中6种常见的兼容问题以及解决方案

js中常见的兼容问题(待补充……)

js中IE和谷歌的常见兼容问题

javascript常见兼容问题汇总js(主要针对IE)

JS常见的11种兼容