美文网首页
JS中的兼容写法

JS中的兼容写法

作者: _Enco_ | 来源:发表于2017-08-02 19:09 被阅读0次

判断用户输入事件

  • 正常浏览器:oninput
  • ie678 支持:onpropertychange
$("txt").oninput = $("txt").onpropertychange = function(){
                if(this.value == ""){
                    $("message").style.display = 'block';
                }else{
                    $("message").style.display = 'none';
                }
            }

封装自己class类,根据类名找对象 同getElementByClassnme

function getClass(classname){
            //如果浏览器支持,则直接返回
            if(document.getElementsByClassName)
            {
                return document.getElementsByClassName(classname);
            }
            // 不支持的 浏览器
            var arr = []; // 用于存放满足的数组
            var dom = document.getElementsByTagName("*");
            //alert(dom.length);
            for(var i=0;i<dom.length;i++)
            {
                if(dom[i].className == classname)
                {
                    arr.push(dom[i]);
                }
            }
            return arr;
        }

兄弟节点

  • nextSibling 下一个兄弟 亲的 ie 678 认识
  • nextElementSibling 其他浏览器认识的
  • previousSibling 同理 上一个兄弟
  • previousElementSibling
  • var div = one.nextElementSibling || one.nextSibling;

子节点

  • firstChild 第一个孩子 ie678
  • firstElementChild 第一个孩子 正常浏览器
  • var one.firstElementChild || one.firstChild;

按钮不可用

  • btn.disabled = “disabled” || btn.disabled = true; //不能用

事件兼容性写法

  • var event = event || window.event;

拖动 原理 == 鼠标按下 接着 移动鼠标 。

bar.onmousedown = function(){
            document.onmousemove = function(){ 
            }
}

拖动的时候不能选中文字

window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();

scrollTop获取值的函数封装 scroll

function scroll() {
        //判断浏览器的类型
        if(window.pageYOffset != null)  //  ie9+ 和其他浏览器
        {
            //返回一个对象
            return {
                left: window.pageXOffset,
                top: window.pageYOffset
            }
        }

        else if(document.compatMode == "CSS1Compat")  // 声明的了 DTD
          // 检测是不是怪异模式的浏览器 
        {
            return {
                left: document.documentElement.scrollLeft,
                top: document.documentElement.scrollTop
            }
        }
        return { //  剩下的肯定是怪异模式的
            left: document.body.scrollLeft,
            top: document.body.scrollTop
        }
    }
    window.onscroll = function() {
        console.log(scroll().top);
    }

相关文章

  • JS中的兼容写法

    判断用户输入事件 正常浏览器:oninput ie678 支持:onpropertychange 封装自己clas...

  • js forEach map &&&

    原生JS forEach()和map()遍历的区别以及兼容写法 一、原生JS forEach() 和map()**...

  • js中常见的兼容问题及其解决方法

    在编写js的代码时,总会遇到一些兼容问题,下面来总结一些常见的兼容写法: 1.获取样式的兼容写法: A. 非IE浏...

  • js事件兼容写法

    title: js事件兼容写法date: 2017-11-16 21:58:30tags: js文件下载:

  • 2017.9.13

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

  • js图片上传预览兼容写法

    index js图片上传预览兼容写法 __veblen 浏览器厂商不同,实现某种特定功能需要进行兼容处理,如图片预...

  • javascript 事件兼容

    今天了解了js 的事件,以前写代码时并不会在意它的兼容问题,那么今天总结几个关于事件的兼容写法。 1、js中经常用...

  • onclick JS的错误写法

    如图报了not defined 的错误 我的错误写法 js中 function a(){} 正确写法 js中 a=...

  • 8月第一周

    7.31 -1- 原生JS的轮播 用惯了swiper,今天练习一下原生JS的轮播写法 -2- Flex 的兼容性 ...

  • 关于forEach(item =>{})

    '=>'es6写法,不兼容ie11 修改:兼容写法

网友评论

      本文标题:JS中的兼容写法

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