JS中的兼容问题总结
今天总结总结在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中的兼容问题总结的更多相关文章
- JS中浏览器兼容问题
body的子节点IE 火狐 显示3个 其他显示7个 float浮动中的兼容 link 操作外联的兼容
- js中浏览器兼容startsWith 、endsWith 函数
在做js开发的时候用到了startsWith函数时,发现各个浏览器不兼容问题,因为对开发来说,chrome浏览器最好用,就一直在chrome浏览器中使用这两个函数没有任何问题,但在ie浏览器访问就直接 ...
- js中的兼容问题汇总
在使用js的过程中,往往会发现关于IE浏览器的兼容问题,当然微软现在自己也打算抛弃IE,推出了edge浏览器,对于前端来说是个好消息. 但IE的用户占比仍然不容小觑,因此这里整理下常见的几个兼容问题附 ...
- 记录js中的兼容问题及解决办法
1.获取非行内样式的兼容问题: 2.获取事件对象的兼容问题: 3.事件冒泡的兼容: 4.keyCode的兼容问题: 5.处理默认事件的兼容问题: 6.事件的绑定兼容问题:
- js中getBoundingClientRect的作用及兼容方案
js中getBoundingClientRect的作用及兼容方案 1.getBoundingClientRect的作用 getBoundingClientRect用于获取某个html元素相对于视窗的位 ...
- 分享一个自定义的 console 类,让你不再纠结JS中的调试代码的兼容
问题的产生 在写JS的过程中,为了调试我们常常会写很多 console.log.console.info.console.group.console.warn.console.error代码来查看JS ...
- Js 日期选择,可以的一个页面中重复使用本JS日历,兼容IE及火狐等主流浏览器,而且界面简洁、美观,操作体验也不错。
<html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="con ...
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
js中对arry数组的各种操作小结 最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...
- springMVC框架在js中使用window.location.href请求url时IE不兼容问题解决
是使用springMVC框架时,有时候需要在js中使用window.location.href来请求url,比如下面的路径: window.location.href = 'forecast/down ...
随机推荐
- Vue2.5开发去哪儿网App 第三章笔记 下
1.样式的绑定 我们可以传给 v-bind:class 一个对象,以动态地切换 class 例如: :class="{activated:isactivated}" 上面的语法 ...
- python 生成器 迭代器
阅读目录 一 递归和迭代 二 什么是迭代器协议 三 python中强大的for循环机制 四 为何要有for循环 五 生成器初探 六 生成器函数 七 生成器表达式和列表解析 八 生成器总结 一 递归和迭 ...
- 课程一(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 ...
- Mysql的优化一则
目的在于这么一个sql语句: SELECT w.* FROM wallpaper w inner join wallpaper_category_relation r ON w.wallpaper_i ...
- ASP.NET状态管理的总结
阅读目录 开始 hidden-input QueryString Cookie ApplicationState ViewState,ControlState Session Profile 各种状态 ...
- keepalived双机热备,安装部署文档
keepalived双击热备,安装部署文档: 下载目录:/apps/keepalived-1.2.7.tar.gz 1:---> yum install -y make wget 2:---&g ...
- 设置ListView显示到最后一行
上次聊天的那个界面上用的一个TextView,然后每次消息都用text.append("消息内容"+"\n")函数来在text字符串后边接一段,然后重新显示这个 ...
- php -- 4种嵌入标记
----- 001-tags.php ----- <!DOCTYPE html> <html> <head> <meta http-equiv="c ...
- 【详解】JNI(Java Native Interface)(一)
前言: 一提到JNI,多数编程者会下意识地感受到一种无法言喻的恐惧.它给人的第一感觉就是"难",因为它不是单纯地在JVM环境内操作Java代码,而是跳出虚拟机与其他编程语言进行交互 ...
- Oracle sys 用户无密码文件无法登录
1.安装时候,global database name 环境变量听ORACLE_SID不一致,生成的sys密码文件默认为global database name 一致,但在连接时候service n ...