美文网首页
JS兼容性

JS兼容性

作者: 寒潭落花 | 来源:发表于2017-06-07 23:50 被阅读0次

1.获取样式

function getStyle(obj,sName){

  return (obj.currentStyle || getComputedStyle(obj,false))[sName]

}

2.获取元素

 obj.previousElementSibling || obj.previousSibling

obj.nextElementSibling || obj.nextSibling

3.获取向上滚动的距离

document.body.scrollLeft || document.documentElement.scrollLeft

4.兼容事件对象

var oEvent = evt || event;

5.DOM事件的封装和兼容

// 事件的绑定

function addEvent (obj,type,fn){

   if(obj.addEventListener){

      obj.addEventListener(type,fn,false);

    }else{

       obj.attachEvent('on'+type , fn);

   }

}

// 事件的移除

function removeEvent(obj,type,fn){

    if(obj.removeEventListener){

      obj.removeEventListener(type,fn,false);

    }else{

      obj.detachEvent('on'+type , fn);

   }

}

6.阻止默认事件

  oEvent.preventDefault && oEvent.preventDefault();

7.ready的封装兼容

function addReady (fn){

    if(document.addEventListener){

        document.addEventListener('DOMContentLoaded',fn,false);

     }else{

        document.attachEvent('onreadystatechange',function(){

            if(document.readyState == 'complete'){

                 fn();

           }

      });

   }

}

8.滚轮事件的封装兼容和使用

//使用

 addWheel(obj,function(bDown){

     if(bDown){

       alert('向下')

    }else{

         alert('向上')

    }

})

//封装

function addWheel(obj,fn){

//加事件

if(navigator.userAgent.toLowerCase().indexOf('Firefox') != -1){

obj.addEventListener('DOMMouseScroll',show,false)

}else{

obj.onmousewheel = show;

}

//执行事件

function show (ev){

var bDown = true;

// 确定到底是向上还向下,更改bDown的真假

var oEvent = ev || event;

if(oEvent.detail){

if(oEvent.detail>0){

bDown = true;

}else{

bDown = false;

}

}else{

if(oEvent.wheelDelta>0){

bDown = false;

}else{

bDown = true

}

}

fn(bDown);

}

}

9.事件委托兼容

var  oLi = oEvent.srcElement || oEvent.target;

相关文章

  • 08JavaScript-移动端

    触屏事件概述 移动端浏览器兼容性较好,我们不需要考虑以前 JS 的兼容性问题,可以放心的使用原生 JS 书写效果,...

  • 移动端网页特效

    移动端浏览器兼容性较好,不需要考虑以前JS的兼容性问题,可以放心的使用原生JS书写效果,但是移动端也有自己独特的地...

  • css3动画与js动画

    比较 兼容性 css3 兼容性不好,IE10才开始支持。 js 兼容性好,甚至可以兼容IE6。 性能 css3 在...

  • 文本溢出

    css单行 兼容性较好 css多行 兼容移动端和chrome js多行 可使用插件解决 Clamp.js

  • 浏览器兼容性问题及解决方案(JS部分)

    关于浏览器兼容性问题的姊妹篇《浏览器兼容性问题及解决方案(CSS部分)》请点击这里。 常见的JS兼容性部分的问题有...

  • 兼容性(js)

    DOM节点获取 事件event获取源 3.获取ClassName问题 innertext兼容性 5.设置监听事件

  • JS兼容性

    1.获取样式 function getStyle(obj,sName){ return (obj.current...

  • 原生js ajax网络数据请求 XMLHttprequest、A

    再学封装ajax请求 原生JS,AJAX数据封装 兼容性处理 脚本: 请求操作:

  • Vue.js学习笔记(1)

    安装 兼容性 Vue.js 不支持 IE8 及其以下版本。Vue.js 支持所有兼容 ECMAScript 5 的...

  • 2017.9.13

    原生js的兼容性写法http://www.jb51.net/article/83099.htm

网友评论

      本文标题:JS兼容性

      本文链接:https://www.haomeiwen.com/subject/ufxzfxtx.html