浏览器兼容性-JS篇
来源:互联网 发布:设备铭牌制作软件 编辑:程序博客网 时间:2024/05/18 23:13
总结一下平时遇到的浏览器兼容性问题,本篇关于JS。
1.事件绑定
兼容写法:
1 function add(obj,event){2 if (obj.addEventListener) {3 obj.addEventListener(event,fn,fase);4 }else{5 obj.attachEvent("on"+event,fn);6 }7 }
小结:addEventListener()兼容firefox、chrome、safari、opera、IE9+
attachEvent()兼容IE7,8
2.event事件对象
兼容写法
1 document.onclick = function(e){2 var e = e||window.event; 3 console.log(e.clientX);4 }
小结:e兼容火狐浏览器,window.event兼容非火狐
3.获取scrollTop
兼容写法:
var scrollTop = document.documentElement.scrollTop||document.body.scrollTop;
小结:document.documentElement.scrollTop兼容非chrome
document.body.scrollTop兼容chrome
4.阻止浏览器默认事件
兼容写法:
1 function prevent(event){2 if (event.preventDefault) {3 event.preventDefault();4 }else{5 event.returnValue = false;6 }7 }
小结:eventPreventDefault()不兼容IE6-8
event.returnValue = false;兼容IE
5.阻止冒泡
兼容写法:
1 function stop(event){2 if (event.stopPropagation) {3 event.stopPropagation();4 }else{5 event.cancleBubble = true;6 }7 }
小结:event.stopPropagation()不兼容IE6-8
event.cancleBubble = true兼容IE
6.滚轮
兼容写法:
1 function mouseWheel(obj,fn){2 var ff = window.navigator.userAgent.indexOf('Firefox');3 if (ff!=-1) {
obj.addEventListener('DOMMouseScroll',wheel,false);//兼容火狐4 }else{5 obj.onmousewheel = wheel;//非火狐6 }7 }
小结:obj.addEventListener('DOMMouseScroll',wheel,false);//兼容火狐
obj.onmousewheel = wheel;//非火狐
7.获取classname
兼容写法:
1 function byClass(parent,className){ 2 //通过className查找元素的兼容问题 3 //如果现代浏览器有这个写法 4 if (parent.getElementsByClassName) { 5 return parent.getElementsByClassName(className);//返回直接查找到的元素集 6 }else{ 7 //IE浏览器 8 var arr = [];//用于存储最终查找到的元素 9 var els = parent.getElementsByTagName('*');//获取查找范围下的所有元素10 var reg = new RegExp('\\b'+className+'\\b',g);11 for (var i=0;i<els.length;i++) {12 if (reg.test(els.className)) {//判断els.className与reg是否匹配,若匹配返回true13 arr.push(els[i]);14 }15 }16 return arr;//返回查找到的元素17 }18 }
0 0
- 浏览器兼容性-JS篇
- JS的浏览器兼容性
- js浏览器兼容性
- js浏览器兼容性记录
- JS浏览器兼容性处理
- JS中浏览器兼容性知识
- 浏览器兼容性汇总(CSS+js)
- 浏览器兼容性汇总(CSS+js)
- js浏览器兼容性的写法
- 各主流浏览器之间的兼容性-JS篇
- js在不同浏览器的兼容性
- js在不同浏览器的兼容性
- js调用OCX插件兼容性浏览器
- js浏览器 event || window.event兼容性写法
- 浏览器兼容性
- 浏览器兼容性
- 浏览器兼容性
- 浏览器兼容性
- ajax的理解与工作流程
- hdu 1205 吃糖果(数学)
- 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- 创建catkin_ws工作空间出现catkin_make错误解决方法
- 2017 蓝桥杯省赛c/c++ B组 K区间和
- 浏览器兼容性-JS篇
- Springboot配置文件的使用
- JSON详解
- 神经网络训练技巧入门
- MongoDB 存储引擎:WiredTiger和In-Memory
- indexOf、instanceOf、typeOf、valueOf详解
- 天地图+GeoServer WMS图层样例
- 对象继承
- Android中对应用程序进行签名的两种方法