兼容问题总结

本文总结了前端开发中常见的HTML、CSS和JavaScript的兼容性问题,包括页面滚动距离获取、元素样式获取、事件对象、事件监听绑定、事件委托、阻止默认行为等,并提供了相应的兼容处理代码片段,旨在帮助开发者解决跨浏览器兼容难题。
摘要由CSDN通过智能技术生成

兼容问题总结

html兼容问题

1.待补充。。。

CSS兼容问题

1.待补充。。。

js兼容问题

1.获取页面向上滚动的距离

​ IE浏览器中

​ 没有 DOCTYPE声明的时候,用这两个都行

​ 有 DOCTYPE声明的时候,只能用 document.documentElement.scrollTop

​ Chrome 和 FireFox

​ 没有 DOCTYPE声明的时候,用 document.body.scrollTop

​ 有 DOCTYPE声明的时候,用 document.documentElement.scrollTop

Safari

​ 两个都不用,使用一个单独的方法window.pageYOffset

2.获取页面上左滚动的距离

​ IE浏览器中

​ 没有 DOCTYPE声明的时候,用这两个都行

​ 有 DOCTYPE声明的时候,只能用 document.documentElementLeft

​ Chrome 和 FireFox

​ 没有 DOCTYPE声明的时候,用 document.body.scrollLeft

​ 有 DOCTYPE声明的时候,用 document.documentElementLeft

Safari

​ 两个都不用,使用一个单独的方法 window.pageYOffset

3.获取元素样式兼容问题

​ js获取行内样式

element.style['attr']

js获取非行内样式

​ 非IE中 getComputedStyle(elem)['attr']

​ IE中 elem.currentStyle['attr']

兼容处理

	function getStyle(elem, attr) {if(elem.style[attr]){return parseInt(elem.style[attr]);}else{return parseInt(getComputedStyle(elem)[attr]) || elem..currentStyle['attr'];}}		

4.获取事件对象

​ 低版本IE:window.event

​ 高版本IE和chrom:event

​ 兼容处理:

e = e || wondow.event

5.事件监听绑定兼容问题

​ IE7、8中: element.attachEvent('on' + type,function( ){ })

​ 非IE中: element.addEventListener(type, function( ){ });

​ 兼容处理:

function bindEvent(element,type,fun) {if(navigator.userAgent.indexOf('MSIE') !== -1) {

​		  element.attachEvent('on' + type,fun);}else{

​		  element.addEventListener(type, fun);}}
6.事件委托兼容问题

​ IE中:e.srcElement

​ 非IE中:e.target

​ 兼容处理:target = e.target || e,srcElement

7.阻止默认行为兼容问题

​ IE中:e.returnValue = false

​ 非IE中:e.preventDefault()

​ 兼容处理:e.preventDefault ? e.preventDefault() : e.returnValue = false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值