1.非行内样式获取

    高级浏览器

   getComputedStyle(obox.false)//获取所有属性

    ie浏览器

  box.currentStyle//获取所有属性

    兼容写法

  function getStyle(ele,attr){//ele为获取元素,attr为属性。
       var a = "";
       if(ele.currentStyle){
           a = ele.currentStyle[attr];
       }else{
          a = getComputedStyle(ele,false)[attr];
       }
           return a;
       }

  2.事件冒泡的兼容

  高级浏览器

  e.stopPropagation()

  ie浏览器

  e.cancelBubble = true;

  兼容写法

   function stopBubble(e){
if(e.stopPropagation){
e.stopPropagation();
}else{
e.cancelBubble = true;
}
}

  3.阻止默认事件

  高级浏览器

 e.preventDefault()

  ie浏览器

 e.returnValue = false

  兼容写法

  function stopDefault(e){
if(e.preventDefault){
e.preventDefault()
}else{
e.returnValue = false;
}
  }

  4.DOM2级绑定事件

  高级浏览器

  obox.addEventListener("click",fn)

  ie浏览器

  obox.attachEvent("onclick",fn)

  兼容写法和删除兼容

//绑定兼容写法
addEvent(obox,"click",fn1)
function fn1(){
console.log()
}
function addEvent(ele,type,cb){
if(ele.addEventListener){
ele.addEventListener(type,cb)
}else if(ele.attachEvent){
ele.attachEvent("on"+type,cb)
}else{
ele["on"+type] = cb;
} }

//删除的兼容
removeEvent(obox,"click",fn1)
function removeEvent(ele,type,cb){
if(ele.removeEventListener){
ele.removeEventListener(type,cb)
}else if(ele.detachEvent){
ele.detachEvent("on"+type,cb)
} else{ele["on"+type] = null;
}
}

 6.ajax的兼容

  var xhr = new XMLHttpRequest() || new ActiveXObject("Microsoft,XMLHTTP");

 7.获取滚动条距离

var sTop = document.documentElement.scrollTop || document.body.scrollTop

 8.鼠标编码的兼容

function getButton(evt){
var e = evt || window.event;
if(evt){
return e.button;
}else if(window.event){
switch(e.button){
case : return ;
case : return ;
case : return ;
}
}
}

 9.获取键盘编码的兼容

evt.preventDefault ? evt.preventDefault() : evt.returnValue = false;

  

js的一些兼容融性问题的更多相关文章

  1. js event 事件兼容浏览器 ie不需要 event参数 firefox 需要

    js event 事件兼容浏览器    ie不需要 event参数   firefox 需要 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

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

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

  3. nodejs——js 实现webSocket 兼容移动端

    nodejs——js 实现webSocket 兼容移动端 //服务器端 //npm install --save ws const express = require('express'); cons ...

  4. IE和firefox火狐在JS、css兼容区别

    1.firefox不能对innerText支持. firefox支持innerHTML但却不支持innerText,它支持textContent来实现innerText,不过默认把多余的空格也保留了. ...

  5. JS/JQ常见兼容辅助插件

    1.Respond.js Respond.js 是一个快速.轻量的 polyfill,用于为 IE6-8 以及其它不支持 CSS3 Media Queries 的浏览器提供媒体查询的 min-widt ...

  6. html5 video.js 使用及兼容所有浏览器

    废话少说,直接开始 一.准备材料 video.js下载: http://www.videojs.com/ 二.代码 引入相关文件:(必须放在文件的开头,也是说一定要放在video标签之前) 贴入htm ...

  7. 加入收藏夹的js代码(求兼容chrome浏览器的代码)

    从网上找了加入收藏夹的js代码,但不兼容chrome,不知道有没有兼容chrome的相关代码,希望有知道的告诉一下,谢谢! 代码如下 $("#id").click(function ...

  8. JS事件及其兼容用法

    JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间. 1.事件流:描述的是从页面中接收事件的顺序. IE提出的事件冒泡流:事件开始由最具体的 ...

  9. JS中的兼容问题总结

    今天总结总结在JS里面遇到的兼容性问题 1.获取滚动距离的兼容性问题: document.documentElement.scrollTop  ||  document.body.scrollTop ...

随机推荐

  1. Ajax提交之后,Method从POST变成GET

    https://developer.aliyun.com/ask/68268?spm=a2c6h.13159736 https://blog.csdn.net/uzizi/article/detail ...

  2. JMeter首金网自营项目-转义及数据库数据乱码的解决

    param的string参数: 需要对”进行转义,加/ { "prdCreditInfo": { "revision": 0, "maxCredit& ...

  3. 使用express-session实现登录效果

    本文为后端练兵内容,重复造轮子,重复造轮子才能有经验,才能生出花来. 本次练兵,采用的是数据库保存账户密码,后端通过查数据库的方式,实现账号和密码的校验. 如果验证成功,将登陆状态保存在session ...

  4. ViewPager翻页控件简单使用方法

    例子布局文件: 主activity布局文件:activity_view_pager.xml <?xml version="1.0" encoding="utf-8& ...

  5. Goland 激活码

    实测有效,分享下 Goland

  6. array_splice 在数组某位置插入数据

    $arr=array('a','b','c','d','e','f','g');//目标数组 $i_arr=array(');//要插入的数组 $n=;//插入的位置 array_splice($ar ...

  7. c盘瘦身、windows解除上网限速、贴膜注意事项

    1.c盘瘦身 1.1.https://zhidao.baidu.com/question/2057622451987202467.html 1.2.把C盘的swap空间换到D盘 2.windows解除 ...

  8. 如何屏蔽掉烦人的www.google-analytics.com

    有时候在开发的网站项目中会加载谷歌分析的js,并且加载的非常慢导致浏览器一直在转圈圈. 按下面的方法可屏蔽掉烦人的www.google-analytics.com   现在想只有屏蔽掉google-a ...

  9. Android view的一些认识

    转载:9102年末,我对Android view的13条认识: (顺手留下GitHub链接,需要获取相关面试等内容的可以自己去找)https://github.com/xiangjiana/Andro ...

  10. GitHub快速搭建个人博客

    > 正所谓前人栽树,后人乘凉.> > 感谢[Huxpro](https://github.com/huxpro)提供的博客模板> > [我的的博客](https://fl ...