跨浏览器事件

1.跨浏览器添加事件

function addEvent(obj,type,fn){
  if(obj.addEventListener){
    obj.addEventListener(type,fn,false);
  }else if(obj.attachEvent){//IE
    obj.attchEvent('on'+type,fn);
  }
}

2.跨浏览器移除事件

function removeEvent(obj,type,fn){
if(obj.removeEventListener){
obj.removeEventListener(type,fn,false);
}else if(obj.detachEvent){//兼容IE
obj.detachEvent('on'+type,fn);
}
}

3.跨浏览器阻止默认行为

function preDef(ev){
  var e = ev || window.event;
  if(e.preventDefault){
    e.preventDefault();
  }else{
    e.returnValue =false;
  }
}

4.跨浏览器获取目标对象

function getTarget(ev){
if(ev.target){//w3c
return ev.target;
}else if(window.event.srcElement){//IE
return window.event.srcElement;
}
}

5.跨浏览器获取滚动条位置

function getSP(){
return{
top: document.documentElement.scrollTop || document.body.scrollTop,
left : document.documentElement.scrollLeft || document.body.scrollLeft;
}
}

6.跨浏览器获取可视窗口大小

function  getWindow () {
if(typeof window.innerWidth !='undefined') {
return{
width : window.innerWidth,
height : window.innerHeight
}
} else{
return {
width : document.documentElement.clientWidth,
height : document.documentElement.clientHeight
}
}
},

最新文章

  1. HP 820 G2变色龙安装10.11.6基本完美
  2. 开源代码分析之Android/iOS Hybrid JSBridge框架
  3. css中单位em和rem
  4. Becoming a Data Scientist – Curriculum via Metromap
  5. Class org.apache.struts2.json.JSONWriter can not access a member of class org.springframework.aop.TruePointcut with modifiers "public"
  6. oracle 删除表、数据
  7. Lua包管理工具Luarocks详解 - 15134559390的个人空间 - 开源中国社区
  8. try-catch-finally块的运行机制
  9. Linux 解决文件删除,但并没有改变磁盘可用性
  10. HDOJ 4607 - Park Visit
  11. Oracle绑定变量优缺点
  12. 优秀代码摘录片段一:LinkedList中定位index时使用折半思想
  13. 红米Note 5A完美卡刷开发版获得ROOT超级权限的方法
  14. iOS 判断一个类是否存在,NSStringFromClass 不用 import 就可以获取类
  15. 大数据基础Hadoop 2.x入门
  16. STM32——C语言课堂原代码
  17. 页面引入js问题
  18. MySQL 5.7.9版本sql_mode=only_full_group_by
  19. 【BZOJ3309】DZY Loves Math(莫比乌斯反演)
  20. 关于iOS设备的那些事

热门文章

  1. django 注册后台管理 在debug=true能行,在debug=false不能显示出管理标签
  2. WIN7系统安装photoshop CS6出现配置错误:16的解决方法
  3. Area.js下载
  4. 新老单点的改造——-理解Cookie、Session、Token
  5. SMB扫描-Server Message Block 协议、nmap
  6. el-table表头与内容右边框错位问题
  7. Codeforces Round #652 (Div. 2) 总结
  8. 入门大数据---Spark部署模式与作业提交
  9. Vue前端压缩图片
  10. Spring系列.Bean简介