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兼容问题的主要内容,如果未能解决你的问题,请参考以下文章
一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10