博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决当文本框为readonly时,按Backspace会刷新页面问题
阅读量:5863 次
发布时间:2019-06-19

本文共 1090 字,大约阅读时间需要 3 分钟。

该方法可以兼容多种浏览器,至少具体可以兼容多少种,没有实际考证过。本方法源于别处,具体什么地方,由于时间比较长,忘记了。分享这个方法是因为我自己觉得该方法比较实用,在项目是时候,当时我已经找了几种解决回退键刷新页面问题的方法,但是经实验,都不能够很好的兼容ie11,最终当前方法解决的该问题。 

window.οnlοad=function(){

  document.getElementsByTagName("body")[0].onkeydown =function(){

     //获取事件对象

             var elem = event.relatedTarget || event.srcElement || event.target ||event.currentTarget;

     if(event.keyCode==8){//判断按键为backSpace键

      //获取按键按下时光标做指向的element

                 var elem = event.srcElement || event.currentTarget;

      //判断是否需要阻止按下键盘的事件默认传递

                  var name = elem.nodeName;

      if(name!='INPUT' && name!='TEXTAREA'){

                     return _stopIt(event);
                 }

      var type_e = elem.type.toUpperCase();

      if(name=='INPUT' && (type_e!='TEXT' && type_e!='TEXTAREA' && type_e!='PASSWORD' && type_e!='FILE')){

                      return _stopIt(event);
                 }

      if(name=='INPUT' && (elem.readOnly==true || elem.disabled ==true)){

                      return _stopIt(event);
                 }

     }

         }
     }

   function _stopIt(e){

     if(e.returnValue){

      e.returnValue = false ;

     }

    if(e.preventDefault ){

      e.preventDefault();

     }

    return false;

  }

转载于:https://www.cnblogs.com/bjxgp/p/4533829.html

你可能感兴趣的文章
如何看待一本图书
查看>>
oracle参数列表
查看>>
Linux 中如何通过命令行访问 Dropbox
查看>>
开发进度——4
查看>>
JS里验证信息
查看>>
Akka actor tell, ask 函数的实现
查看>>
windows10 chrome 调试 ios safari 方法
查看>>
Hello , Ruby!
查看>>
Netty 4.1.35.Final 发布,经典开源 Java 网络服务框架
查看>>
详解Microsoft.AspNetCore.CookiePolicy
查看>>
SCDPM2012 R2实战一:基于SQL 2008 R2集群的SCDPM2012 R2的安装
查看>>
SQL SERVER中字段类型与C#数据类型的对应关系
查看>>
Linux lsof命令详解
查看>>
SVG path
查看>>
js判断checkbox是否选中
查看>>
多系统盘挂载
查看>>
MySQL函数怎么加锁_MYSQL 函数调用导致自动生成共享锁问题
查看>>
Dynamic Performance Tables not accessible Automatic Statistics Disabled for this session
查看>>
Linux中使用vim乱码
查看>>
MR1和MR2的工作原理
查看>>