今天总结总结在JS里面遇到的兼容性问题

1.获取滚动距离的兼容性问题:

document.documentElement.scrollTop  ||  document.body.scrollTop    (兼容IE)

2.获取非行间样式

getComputedStyle(元素,false)[attr]  ||   元素.currentStyle[attr]

3.索引获取字符串的问题

str[1] 在IE6,7中不兼容,用str.charAt(1)在各个浏览器都兼容

4.DOM中的获取节点的兼容

chilidNodes,firstChild,lastChild,nextSibling,previousSibling 在IE6-8中获取的是元素节点,而在正常浏览器中获取出来包括元素节点,文本节点,属性节点

在正常浏览器总用children,firstElementChild,lastElementChild,nextElementSibling,previousElementSibling获取的是元素节点

event事件对象中出现的兼容

5. var e =e || event   获取事件对象

6. var target = e.target || e.srcElement  获取触发事件的那个元素

7. var key = e.keyCode || e.which   //获取键盘按下的键

8. e.prevntDeafault() ||  e.returnValue = false //阻止浏览器默认事件

9. e.stopPropagation() || e.cancelBubble = true //阻止冒泡

10.    元素.addEventListener()  和  元素.attachEvent()   添加DOM2级事件(监听事件)   第一种第一个参数写类型的时候不需要加on   而第二种需要加on

栗子 :元素.addEventListener("click",function(){})        (正常浏览器用这个)

元素.attachEvent("onclick",function(){})       (IE浏览器用这个)

11.元素.removeEventLister()  和  元素.detachEvent()     正常浏览器用 元素.removeEventLister()    IE浏览器用 元素.detachEvent()

12.创建AJAX时的兼容:

XMLHttpRequest()       和   ActiveXObject("Microsoft,XMLHTTP")

JS中的兼容问题总结的更多相关文章

  1. JS中浏览器兼容问题

    body的子节点IE 火狐 显示3个  其他显示7个 float浮动中的兼容 link 操作外联的兼容

  2. js中浏览器兼容startsWith 、endsWith 函数

    在做js开发的时候用到了startsWith函数时,发现各个浏览器不兼容问题,因为对开发来说,chrome浏览器最好用,就一直在chrome浏览器中使用这两个函数没有任何问题,但在ie浏览器访问就直接 ...

  3. js中的兼容问题汇总

    在使用js的过程中,往往会发现关于IE浏览器的兼容问题,当然微软现在自己也打算抛弃IE,推出了edge浏览器,对于前端来说是个好消息. 但IE的用户占比仍然不容小觑,因此这里整理下常见的几个兼容问题附 ...

  4. 记录js中的兼容问题及解决办法

    1.获取非行内样式的兼容问题: 2.获取事件对象的兼容问题: 3.事件冒泡的兼容: 4.keyCode的兼容问题: 5.处理默认事件的兼容问题: 6.事件的绑定兼容问题:

  5. js中getBoundingClientRect的作用及兼容方案

    js中getBoundingClientRect的作用及兼容方案 1.getBoundingClientRect的作用 getBoundingClientRect用于获取某个html元素相对于视窗的位 ...

  6. 分享一个自定义的 console 类,让你不再纠结JS中的调试代码的兼容

    问题的产生 在写JS的过程中,为了调试我们常常会写很多 console.log.console.info.console.group.console.warn.console.error代码来查看JS ...

  7. Js 日期选择,可以的一个页面中重复使用本JS日历,兼容IE及火狐等主流浏览器,而且界面简洁、美观,操作体验也不错。

    <html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="con ...

  8. js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符

    js中对arry数组的各种操作小结   最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...

  9. springMVC框架在js中使用window.location.href请求url时IE不兼容问题解决

    是使用springMVC框架时,有时候需要在js中使用window.location.href来请求url,比如下面的路径: window.location.href = 'forecast/down ...

随机推荐

  1. Vue2.5开发去哪儿网App 第三章笔记 下

    1.样式的绑定 我们可以传给 v-bind:class 一个对象,以动态地切换 class   例如: :class="{activated:isactivated}" 上面的语法 ...

  2. python 生成器 迭代器

    阅读目录 一 递归和迭代 二 什么是迭代器协议 三 python中强大的for循环机制 四 为何要有for循环 五 生成器初探 六 生成器函数 七 生成器表达式和列表解析 八 生成器总结 一 递归和迭 ...

  3. 课程一(Neural Networks and Deep Learning),第四周(Deep Neural Networks)—— 0.学习目标

    Understand the key computations underlying deep learning, use them to build and train deep neural ne ...

  4. Mysql的优化一则

    目的在于这么一个sql语句: SELECT w.* FROM wallpaper w inner join wallpaper_category_relation r ON w.wallpaper_i ...

  5. ASP.NET状态管理的总结

    阅读目录 开始 hidden-input QueryString Cookie ApplicationState ViewState,ControlState Session Profile 各种状态 ...

  6. keepalived双机热备,安装部署文档

    keepalived双击热备,安装部署文档: 下载目录:/apps/keepalived-1.2.7.tar.gz 1:---> yum install -y make wget 2:---&g ...

  7. 设置ListView显示到最后一行

    上次聊天的那个界面上用的一个TextView,然后每次消息都用text.append("消息内容"+"\n")函数来在text字符串后边接一段,然后重新显示这个 ...

  8. php -- 4种嵌入标记

    ----- 001-tags.php ----- <!DOCTYPE html> <html> <head> <meta http-equiv="c ...

  9. 【详解】JNI(Java Native Interface)(一)

    前言: 一提到JNI,多数编程者会下意识地感受到一种无法言喻的恐惧.它给人的第一感觉就是"难",因为它不是单纯地在JVM环境内操作Java代码,而是跳出虚拟机与其他编程语言进行交互 ...

  10. Oracle sys 用户无密码文件无法登录

    1.安装时候,global database name  环境变量听ORACLE_SID不一致,生成的sys密码文件默认为global database name 一致,但在连接时候service n ...