//跨浏览器获取视口大小

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

//跨浏览器获取style
function getStyle(element,attr){
if(typeof window.getComputedStyle!="undefined"){ //w3c
return window.getComputedStyle(element,null)[attr];
}else if(typeof element.currentStyle!='undefined'){
return element.currentStyle[attr];
}
}

//获取event对象
function getEvent(event){
retur event||window.event
}
//阻止默认行为
function preDef(event){
var e=getEvent(event);
if(typeof e.preventDefault!='undefined'){//w3c
e.preventDefault();
}else{
e.returnValue=false; //ie
}
}

//跨浏览器事件绑定
function addEvent(obj,type,fn){
if(typeof obj.addEventListener!="undefined"){
obj.addEventListener(type,fn,false)
}else if(typeof obj.attachEvent!='undefined'){
obj.attachEvent('on'+type,function(){
fn.call(obj)
});
}
}

//跨浏览器删除事件
function removeEvent(obj,type,fn){
if(typeof obj.removeEventListener!='undefined'){
obj.removeEventListener(type,fn,false)
}else if(typeof obj.detachEvent!='undefined'){
obj.detachEvent('on'+type,fn)
}
}

转载于:https://www.cnblogs.com/shuzepeng/p/7147421.html

处理一些常见的跨浏览器封装的函数相关推荐

  1. html 引入js 兼容,JS跨浏览器兼容性解决思路及方案汇总,常见JS兼容性知识点汇总...

    上篇文章我们介绍了,处理CSS浏览器兼容性的4个解决方案:浏览器CSS样式初始化.浏览器私有属性,CSS hack语法和自动化插件,有兴趣的可以看看,链接放到本文结尾 本文主要介绍JS的跨浏览器兼容性 ...

  2. 【前端】跨浏览器事件处理程序EventUtil.js个人注释及详解

    <javascript高级程序设计>跨浏览器事件处理程序EventUtil.js个人注释 EventUtil.js // 跨浏览器事件处理程序封装 var EventUtil = {// ...

  3. 跨浏览器开发工作小结

    本篇小结是在2011年时候总结的,当时做一个产品的跨浏览器兼容工作,由于产品开发的时间比较早,最开始只能在IE下面(IE 8.IE 9还有点点问题)使用,做跨浏览器兼容工作的时候,主要是适配IE 6- ...

  4. 前端常见的跨域解决方案

    一.什么是跨域 跨域也称为非同源策略请求,就是去非同源地址获取数据的行为 只要页面,向非同源地址,发出了ajax / fetch请求,此时就出现了跨域问题. 专业的解释是,两个不同源的服务去访问对方的 ...

  5. CSS实现跨浏览器兼容性的盒阴影效果

    2019独角兽企业重金招聘Python工程师标准>>> CSS实现跨浏览器兼容性的盒阴影效果 一.无关紧要碎碎念 在web页面的ui表现中,投影效果可以说是非常常见的一种表现效果了. ...

  6. js ajax 浏览器兼容,JS跨浏览器兼容,一点点总结

    不同的浏览器,对不同的/相同的属性.方法等的支持程度也会有所差别,要想达到满意的效果,需要做一些处理.给不同的浏览器量体裁衣,也就是所说的达到兼容. 常见的处理方式:(能力检测和浏览器检测) 1.三目 ...

  7. js粘贴板为什么获取不到图片信息_【第1829期】复制黏贴上传图片和跨浏览器自动化测试...

    前言 这个操作体验倒是不错.今日早读文章由丁香园@蒋璇投稿分享. @蒋璇, 前端开发攻城狮, 现任职于丁香园. 英语爱好者, 测试驱动开发(TDD)&行为驱动开发(BDD)推崇者. 先专注于 ...

  8. 跨浏览器开发:CSS代码的金科玉律

    作为Web设计师,你的网站在各种浏览器中有完全一样的表现是很多人的目标,然而这是一个永远无法真正实现的目标,很多人认为,完美的跨浏览器兼容并不必要,这样说虽然没错,但在很多情形,一种近似的兼容还是很容 ...

  9. ajax背景、ajax对象、ajax状态、ajax与http、ajax请求数据接口、同步与异步、ajax请求XML数据、封装ajax函数、artTemplate简介、同源策略和跨域请求、JSONP

    AJAX简介: ajax背景: 1.AJAX(Asynchronous JavaScript And Xml)异步的 JavaScript 和 XML:ajax是浏览器提供的一套API,最早出现在谷歌 ...

  10. 如何调试CSS的跨浏览器样式bug

    首先要做的是挑选一个好的浏览器.我的选择是Chrome,因为它拥有强大的调试工具.当我在Chrome上完成调试后,我会接着在Safari或者Firefox上调试. 如果在这些"好的" ...

最新文章

  1. python 字符串 转 dict
  2. Java项目:网上选课系统(java+SSM+jsp+mysql+maven)
  3. MTD的坏块管理(一)-快速了解MTD的坏块管理
  4. 玩转python轻松过二级_关于通话的阿里云论坛用户知识和技术交流
  5. react 中子组件调用父组件的方法
  6. 区块链,一个糟糕的数据库
  7. c 添加mysql表单的一行数据类型_MySQL数据库基础
  8. pandas从dataframe中选择部分行、列
  9. (30)System Verilog进程间同步(邮箱mailbox)
  10. Ubuntu16.4配置caffe详细流程
  11. Sping和springBoot框架技术栈
  12. linux文件编程(二)
  13. sketch up rbs/rbz/rb插件安装方法
  14. Laravel 博客开发|网站打开速度优化
  15. React.js介绍
  16. 银行笔试用计算机,2018银行招聘笔试:如何备考银行计算机
  17. 习题4-9 打印菱形图案(15分)
  18. channel小知识点
  19. 计算机安全应急演练简报,开封市网络安全应急演练表彰大会在计算机与信息工程学院举行...
  20. uni-app点击按钮弹出提示框-uni.showModal(OBJECT),选择确定和取消

热门文章

  1. 微信小程序-跟学笔记
  2. odbc mysql server_使用MySQL ODBC进行MySQL和SQL Server转换
  3. Spring 框架蕴含的设计思想
  4. 【七】zuul路由网关
  5. 【M10】在构造方法内阻止资源泄漏
  6. Java之品优购课程讲义_day12(2)
  7. 深入浅出CChart 每日一课——快乐高四第九课 于无声处,CChart内置功能介绍之数据存取篇...
  8. Mvc中Session导致action不异步的问题
  9. Lucene.Net 2.3.1开发介绍 —— 一、接触Lucene.Net
  10. Zen Cart对空间或主机的要求