ie兼容问题

Posted xjy20170907

tags:

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

js兼容问题

1 阻止事件冒泡:

//js阻止事件传播,这里使用click事件为例
document.onclick=function(e){
    var e=e||window.event;
    if (e.stopPropagation) {
        e.stopPropagation();//W3C标准
    }else{
        e.cancelBubble=true;//IE....
    }
}

2 阻止默认事件:

//js阻止默认事件
document.onclick=function(e){
    var e=e||window.event;
    if (e.preventDefault) {
        e.preventDefault();//W3C标准
    }else{
        e.returnValue=‘false‘;//IE..
    }
}

3 获取事件的目标元素:

//关于event事件中的target
document.onmouseover=function(e){
    var e=e||window.event;
    var Target=e.target||e.srcElement;  //srcElement兼容IE
}

4 获取dom元素:

obj.firstElementChild;   //非IE678支持
obj.firstChild;   //IE678支持

obj.lastElementChild;   //非IE678支持
obj.lastChild;   //IE678支持

5 获取类名:

document.getElementsByClassName(‘‘);   // IE 6 7 8不支持

//第一个为全局获取类名,第二个为局部获取类名
function byClass1(oClass){//全局获取,oClass为你想要查找的类名,没有“.”
    var tags=document.all?document.all:document.getElementsByTagName(‘*‘);
    var arr=[];
    for (var i = 0; i < tags.length; i++) {
        var reg=new RegExp(‘\\b‘+oClass+‘\\b‘,‘g‘);
        if (reg.test(tags[i].className)) {
            arr.push(tags[i]);
        };
    };
    return arr;//注意返回的也是数组,包含你传入的class所有元素;
}

// 支持IE 6 7 8
function byClass2(parentID,oClass){// 局部获取类名,parentID为你传入的父级ID
    var parent=document.getElementById(parentID);
    var tags=parent.all?parent.all:parent.getElementsByTagName(‘*‘);
    var arr=[];
    for (var i = 0; i < tags.length; i++) {
    var reg=new RegExp(‘\\b‘+oClass+‘\\b‘,‘g‘);
        if (reg.test(tags[i].className)) {
            arr.push(tags[i]);
        };
    };
    return arr;//注意返回的也是数组,包含你传入的class所有元素;
}

6 监听事件

obj.addEventListener(‘click‘, fn, false);   // 非IE
obj.attachEvent(‘onclick‘, fn);   // IE

obj.removeEventListener(‘click‘, fn, false);   // 非IE
obj.detachEvent(‘onclick‘, fn);   //  IE

css兼容问题

 

 

 

 

原文:https://www.cnblogs.com/duenyang/p/6066737.html

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

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

一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10

一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10

一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10

关于IE兼容的问题

一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10