今天在IE浏览器下发现,当把使用readonly="readonly"属性将文本框设置成只读时有一个奇怪的问题:如果光标进入只读文本框,然后按下Backspace键,就会跳转到上一个页面,效果就像点击了浏览器的后退按钮返回前一个页面一样,而在火狐和google下没有这样的问题出现,为了解决这个问题,写了一个如下的处理方法,如果文本框是只读的,那么就禁用Backspace键。


代码如下:

//处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外
function banBackSpace(e){      var ev = e || window.event;//获取event对象     var obj = ev.target || ev.srcElement;//获取事件源      var t = obj.type || obj.getAttribute('type');//获取事件源类型    //获取作为判断条件的事件类型   var vReadOnly = obj.getAttribute('readonly');  //处理null值情况   vReadOnly = (vReadOnly == "") ? false : vReadOnly;  //当敲Backspace键时,事件源类型为密码或单行、多行文本的, //并且readonly属性为true或enabled属性为false的,则退格键失效  var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea")  && vReadOnly=="readonly")?true:false;  //当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效  var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea") ?true:false;//判断 if(flag2){ return false; }  if(flag1){    return false;    }
}window.onload=function(){  //禁止后退键 作用于Firefox、Opera document.onkeypress=banBackSpace; //禁止后退键  作用于IE、Chrome document.onkeydown=banBackSpace;
}

加上这样的处理之后,就可以解决只读输入框在IE下按下Backspace键回退到前一个页面的问题了

按下Backspace键,就会跳转到上一个页面。JavaScript屏蔽Backspace键处理,禁用Backspace键。相关推荐

  1. java中登陆界面怎么连接到下一个界面啊_JavaWeb登陆成功后跳转到上一个页面

    JavaWeb登陆成功后跳转到上一个页面,这个标题注定要词不达意,你可能会遇到这样的情形,当点击页面的某个请求时,由于用户未登录,需要跳转到登录页,用户登录成功后,再跳转到上一个页面:还有一种情况,多 ...

  2. JavaWeb登陆成功后跳转到上一个页面

    JavaWeb登陆成功后跳转到上一个页面,这个标题注定要词不达意,你可能会遇到这样的情形,当点击页面的某个请求时,由于用户未登录,需要跳转到登录页,用户登录成功后,再跳转到上一个页面:还有一种情况,多 ...

  3. php 跳转回上一个页面,php跳转回上一个页面

    [摘要] PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 ...

  4. 【ASP.NET】登陆成功后如何跳转到上一个页面

    当用户浏览网页的时候会在某个地方需要用户登陆才能继续浏览,用户登陆之后会自动跳转到刚刚浏览的页面.这个步骤是怎么实现的呢?net小伙在查阅相关资料实践之后终于明白了,其实很简单,先分享给大家吧. 当用 ...

  5. IntelliJ IDEA中跳转到上一个视图位置(向后/向前导航)的键盘快捷键

    本文翻译自:Keyboard shortcut for Jump to Previous View Location (Navigate back/forward) in IntelliJ IDEA ...

  6. 如何解决用谷歌浏览器调试代码接口请求的时候,跳转网页切换网页的时候,上一个页面的接口请求记录被清除消失的问题

    经常我们在测试接口的返回报文的时候,可能是存在于不同网页的跳转过程中,但是浏览器默认的设置是只要一跳转页面,上一个页面的请求记录就没了,是不是很烦人,有时候我们还有以迅雷不及掩耳盗铃之势把浏览器的接口 ...

  7. js控制禁用退格键回到上一个页面

    js控制禁用退格键回到上一个页面 我们在真实的项目开发中经常会使用JS 对键盘上的一些按键进行禁用,常见的比如说退格键(backspace/ 后退键),我在一个项目中就遇到过在页面编辑的时候禁用掉退格 ...

  8. 小程序 navigator 无法跳转 tabBar上的页面

    小程序 navigator 无法跳转 tabBar上的页面 解决方法一: navigator 的 open-type 设置为 switchTab 解决方法二: 使用 wx.switchTab({ ur ...

  9. php跳转到另外一个方法,PHP 页面跳转到另一个页面的多种方法方法总结

    PHP 页面跳转到另一个页面的多种方法方法总结 一用 HTTP 头信息 也就是用 PHP 的 HEADER 函数 PHP 里的 HEADER 函数的作用就是向浏览器发出由 HTTP 协议规定的本来应该 ...

  10. js实现5秒之后跳转到另一个页面

    最近在做网上书城项目时,总结了两种方式实现5秒之后跳转到另一个页面. 第一种方式:直接在jsp页面中写入js代码: msg.jsp代码如下: <%@ page language="ja ...

最新文章

  1. smartsql和mysql_SmartSql 常见问题
  2. 最新调查:等这一波COBOL程序员退休,很多关键岗位就后继无人了
  3. linux插光驱自动重启,Linux两种光驱自动挂载的方法
  4. C++继承的基本语法
  5. Ambari2.7.0 + HDP3.1.4.0安装,hdfs数据备份和恢复,hive数据备份和恢复,hbase数据备份和恢复,常见错误总结,Ambari卸载,hadoop-ha,hive和ES整合
  6. 数据结构与算法(二):堆,大根堆,小根堆,堆排序,比较器详解
  7. 求解:nhibernate2.0操作oralce提交事务时报错
  8. 光纤熔接过程详细说明
  9. linux 远程挂载摄像头_如何实现嵌入式Linux下USB摄像头视频采集
  10. 【技术博客】基于JsPlumb和JQuery-UI的流程图的保存和再生成
  11. c语言主函数如何获得子函数的值,子函数中的数组值怎么带回主函数中?
  12. Atitit 命令行执行springboot程序 目录 1.1. 执行spel表达式,调用app main,获取context 1 1.2. 直接在Application main函数内执行 1
  13. matlab 韦布尔拟合,MATLAB数据拟合工具在数学建模中的简单应用
  14. 打开计算机无法显示工具栏,任务栏不显示打开的窗口怎么办教程
  15. IMU传感器输出值与实际物理量的换算关系
  16. 基于MATLAB的双重积分的数值求解
  17. LS1046A平台 网卡混杂模式,无法收到DMAC不是自己的包
  18. 词性标注:基于MaxEnt的中文词性标注模型实现
  19. QT属性绑定binging
  20. 浏览器缓存知识+JS实现缓存

热门文章

  1. VLAN划分-思科模拟器-基础回顾
  2. 25岁社招进阿里,从电商到有赞新零售,他仅1年就打开了马云一直想做的新领域!...
  3. rtbeginreg.html文件,【答疑】安装3DMAX2014版本出现“Autodesk Licensing”的小窗口 - 视频教程线上学...
  4. 外国人怎样看待Ubuntu麒麟?
  5. 计算机概念图图例,写出统计图的名称和制图什么并标出图例
  6. 传祺gac6480_传祺gs82020款,传祺GAC6480J2F5
  7. 大型网站架构技术一览(李智慧著.大型网站技术架构.附录A)
  8. 小程序如何cdn加速服务器,小程序能用cdn加速吗
  9. Nat Chem Biol | 李大力/宋高洁/赵永祥合作开发“精准安全”的腺嘌呤碱基编辑器ABE9...
  10. 淮安市第八届计算机比赛,淮安市科学技术协会