ie中常见的js语法兼容问题

参数e表示事件
1、获取滚动距离:滚动条

document.documentElement.scrollTop || document.body.scrollTop
document.documentElement.scrollTop ()
document.body.scrollTop() // 兼容IE版本

2、事件中的兼容

e = e || window.event;
标准兼容写法:e.screenX、e.screenY、e.offsetX、e.offsetY
IE兼容写法:window.event、window.event.screenX // 将事件作为window对象的事件属性

3、样式兼容(非行间样式)

getcomputedStyle() 传两个参数 第一个为当前对象 第二个为伪类选择器,通常用false
currentStyle() 使用方式为:对象.current[attr]

4、事件冒泡兼容的解决

e.stopPropagation ? e.stopPropagation() : e.cancelBubble=true; // 不可反过来写
e.stopPropagation() // 标准兼容写法
e.cancelBubble=true; // IE兼容写法

5、默认行为兼容的解决

e.preventDefault ? e.preventDefault() : e.returnValue=false;
preventDefault() // 标准兼容写法
returnValue() // IE兼容写法

6、DOM2级事件监听兼容

addEventListener() || removeEventListener() ; // 标准浏览器的监听和移除写法
attachEvent() || detachEvent() // IE的监听和移除写法

7、事件目标对象兼容

var src = event.target || event.srcElement;
IE的事件对象有srcElement属性,无target属性
标准浏览器的事件对象有target属性,无srcElement属性

8、获取按下的键盘码

e.keyCode || e.which
标准兼容 || IE兼容

9、获取事件源

e.target || e.srcElement // 点击事件,获取的是点击位置标签名(大写)
标准兼容 || IE兼容

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值