zoukankan      html  css  js  c++  java
  • ie11兼容问题汇总及解决方案

    1.样式问题:部分属性iE不兼容,例:
      a.    white-space: nowrap :nowrap 不生效
      解决方法:添加一行样式:
    word-break: keep-all

      b.    inherit 属性不生效、避免在ie中使用该属性

    2.原生js部分属性不兼容,例:
    includes()方法报错
    解决方法:用indexOf()方法替代

    el.indexOf()>=0  <==>  el.indexOf 返回true

    3.冒泡事件,ie默认接受冒泡事件
           解决方法:阻止事件向父元素冒泡
          //如果提供了事件对象,则这是一个非IE浏览器 
          if ( e && e.stopPropagation ) 
          //因此它支持W3C的stopPropagation()方法 
          e.stopPropagation(); 
          //否则,我们需要使用IE的方式来取消事件冒泡 

          else window.event.cancelBubble = true; 

    4.formData.set()方法不支持,其实ie只支持formData.append()方法

        解决方法:暂时没有摸索出更好的方法,只是尽量第一次塞进去的值是干净可用的。

    5.ie下input框设置了readonly属性,鼠标还是可以点击光标聚焦

        解决方法:放弃readonly属性,采用disabled属性方法。

    <input type="text" name="email" disabled="disabled">
    6.ie下input框的change事件不能用enter键触发

       解决方法:用键盘捕捉事件,判断键值是否等于‘13’(enter),满足条件再调用change事件

       代码:

       //是否为ie浏览器

       getIsIE() {
            if (!!window["ActiveXObject"] || "ActiveXObject" in window) return true;

           else return false;

       }

      // 获取回车键事件 -- 兼容ie

      getEnterEvent(e) {
         //判断是否是ie浏览器

         if(getIsIE()) {
          if(e.keyCode == 13){
              //注意判断值没有发生变化时不做修改

         }

    }
    ————————————————
    版权声明:本文为CSDN博主「村口小别离」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/jingyuandi/article/details/80570298

  • 相关阅读:
    JSON跨域请求
    2013.9.26 心得体会
    MemCached用法
    使用SQL联合查询来构建临时vo对象的应用
    ubuntu 16.04 安装php 5 6等版本
    mac php版本切换
    windows 查看端口占用
    nginx 反向代理到目录
    linux挂在samba服务器到本地(用于备份文件到nas或者windows的文件服务器)
    ubuntu 加载新硬盘或分区
  • 原文地址:https://www.cnblogs.com/it-wwp/p/14756629.html
Copyright © 2011-2022 走看看