扩展代码|  常用工具|  常用框架|  站内项目|  常用地址|  代码规范| 关于我们

js解决浏览器中Backspace按键回退页面问题

所属分类:Js/Jquery

 2020-09-15 10:02  1300  0  0  1
代码如下
function banBackSpace(e) {
  var ev = e || window.event;
  //各种浏览器下获取事件对象
  var obj = ev.relatedTarget || ev.srcElement || ev.target || ev.currentTarget;
  //按下Backspace键
  if (ev.keyCode == 8) {
   var tagName = obj.nodeName //标签名称
   //如果标签不是input或者textarea则阻止Backspace
   if (tagName != 'INPUT' && tagName != 'TEXTAREA') {
    return stopIt(ev);
   }
   var tagType = obj.type.toUpperCase();//标签类型
   //input标签除了下面几种类型,全部阻止Backspace
   if (tagName == 'INPUT' && (tagType != 'TEXT' && tagType != 'TEXTAREA' && tagType != 'PASSWORD')) {
    return stopIt(ev);
   }
   //input或者textarea输入框如果不可编辑则阻止Backspace
   if ((tagName == 'INPUT' || tagName == 'TEXTAREA') && (obj.readOnly == true || obj.disabled == true)) {
    return stopIt(ev);
   }
  }
 }
 function stopIt(ev) {
  if (ev.preventDefault) {
   //preventDefault()方法阻止元素发生默认的行为
   ev.preventDefault();
  }
  if (ev.returnValue) {
   //IE浏览器下用window.event.returnValue = false;实现阻止元素发生默认的行为
   ev.returnValue = false;
  }
  return false;
 }
 
 $(function() {
  //实现对字符码的截获,keypress中屏蔽了这些功能按键
  document.onkeypress = banBackSpace;
  //对功能按键的获取
  document.onkeydown = banBackSpace;
 })

如有帮助请打赏一下,分分是爱!!!
微信打赏
相关分类推荐
js 获取两个时间戳之间相隔多少天多少小时多少分多少秒

js 获取两个时间戳之间相隔多少天多少小时多少分多少秒

js 获取两个时间戳之间相隔多少天多少小时多少分多少秒.
  Js/Jquery
 1516  0  0
Js常用语句学习

Js常用语句学习

Js常用语句学习,像js获取html属性,获取界面高度,处理鼠标悬浮div显示位置,控制动态效果等等。项目中常用到的好的js语句,记录学习,持续更新中。
  Js/Jquery
 1022  0  0
Ajax请求数据格式

Ajax请求数据格式

相关Ajax请求格式详解,返回JSON格式和TEXT格式
  Js/Jquery
 1208  1  1
js 定时器的用法和清除

js 定时器的用法和清除

window对象提供了两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval。其中前者可以使一段代码在指定时间后运行;而后者则可以使一段代码每过指定时间就运行一次。
  Js/Jquery
 1026  0  0

评论这篇文章(1

  • 楼主 xcSharp博客
学习永无止境,活到老,学到老,书山有路勤为径,学海无涯苦作舟;业精于勤荒于喜,行成于思毁于随
  • 1楼   106.***.***.66
  • 2020-07-09 18:39
刚好完美解决问题,谢谢