IE9 oninput不兼容 delete键的解决方案

前言
在实际写代码的过程中 我们会发现 ie9有input事件
但是当我们删除内容的时候并没有触发 oninput事件
这是由于ie9不兼容这个事件

解决方案

ie9支持 keydown 和 keyup 事件

根据这个我们可以监听 delete键的keyup事件 并且作为触发器绑定到oninput事件

代码

  function BrowserType() {
       var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
       var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
       var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
       var isEdge = (userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 || userAgent.indexOf("Windows NT 6.1; WOW64; Trident/7.0;")) && !isIE; //判断是否IE的Edge浏览器
       var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
       var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器
       var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1; //判断Chrome浏览器

       if (isIE) {
           var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
           reIE.test(userAgent);
           var fIEVersion = parseFloat(RegExp["$1"]);
           if (fIEVersion == 7) {
               return "IE7";
           } else if (fIEVersion == 8) {
               return "IE8";
           } else if (fIEVersion == 9) {
               return "IE9";
           } else if (fIEVersion == 10) {
               return "IE10";
           } else if (fIEVersion == 11) {
               return "IE11";
           } else {
               return "0"
           }//IE版本过低
       }//isIE end

       if (isFF) {
           return "FF";
       }
       if (isOpera) {
           return "Opera";
       }
       if (isSafari) {
           return "Safari";
       }
       if (isChrome) {
           return "Chrome";
       }
       if (isEdge) {
           return "Edge";
       }
   }

   var myBrowser = BrowserType();
   console.info("myBrowser:" + myBrowser)
   //TODO ie9兼容性问题
   if (myBrowser == "IE9") {
       $('input').each(
           function () {
               var that = $(this);
               that.on("keyup", function (e) {

                   if (e.keyCode === 8) {
                       console.log(e.keyCode);
                       that.trigger("input")
                       }
                   }
               })


           }
       );
   }

本文章为本人原创文章 转载请注明出处 https://blog.csdn.net/weixin_44796453 谢谢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值