JS兼容性总结
2024-08-25 08:33:00
获取样式
obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr]; //currentStyle为IE 滚动条
var scroll = document.documentElement.scrollTop || document.body.scrollTop //body为chrome 事件
var ev = ev || event; //event为IE和chrome,ev为标准 事件绑定 obj.attachEvent('onclick',fn); //IE
obj.addEventListener('click',fn,false); //标准 obj.detachEvent('onclick',fn); // IE
obj.removeEventListener('click',fn,false) //标准
事件委托 target = ev.target || ev.srcElement; //IE下是srcElement,标准下是target
鼠标滚轮 obj.onmousewheel = fn //IE/chrome
if (obj.addEventListener) { //FF,如果addEventListener存在处理 obj.addEventListener('DOMMousescroll',fn,false)
}
function fn(ev) {
var ev = ev || event;
var b = true;
//ev.wheelDelta为IE/chrome,向下为-120,向上为120
//ev.detail为FF,向下为1,向上-1
//通过布尔来处理兼容性
if (ev.wheelDelta) {
b = ev.wheelDelta>0 ? true : false;
} else {
b = ev.detail<0 ? true :false;
}
if (b) {
alert('向上')
} else {
alert('向下')
}
} return false; //标准,阻止浏览器默认行为
ev.preventDefault; //FF下,使用addEventListener后,需要用此方法来阻止浏览器默认的行为 创建ajax对象
var xhr = null;
try{
xhr = new XMLHttpRequest();
} catch(e) {
xhr = new ActiveXObject('Microsoft.XMLHTTP'); //IE6
}
最新文章
- iOS后台挂起程序 当程序到后台后,继续完成Long-Running Task 任务
- Atititi 版本管理 rc final rtm ga release 软件的生命周期中一般分4个版本
- 直接拿来用!最火的Android开源项目(一) (转)
- 在 Xen 虚拟机下修改系统当前时间
- JavaScript手札:《编写高质量JS代码的68个有效方法》(一)(1~5)
- JavaScript简易缩放程序
- 原生js轮播以及setTimeout和setInterval的理解
- ubuntu 恢复gnome-panel
- BASE64编码规则及C#实现
- Entity Framework 6 学习笔记
- jQuery制作焦点图(轮播图)
- .NET中lock的使用方法及注意事项
- ke
- utf8、unicode与gbk
- Python +selenium自动化环境的搭建
- 学习WPF
- shift and算法
- Spring点滴五:Spring中的后置处理器BeanPostProcessor讲解
- oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器
- Linux在bash history当中添加timestamp