js禁止Backspace键使浏览器后退的实现方法
发布时间 - 2026-01-11 03:03:48 点击率:次在项目中遇到按下Backspace键让浏览器后退的问题,上网搜了几种解决方案都不太理想。于是集众人之智,采众家之长,归纳如下:

1、在公用js中定义阻止Backspace的方法
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;
}
方法注释写的很清晰了,这里不过多解释。
2、页面加载完成就调用该方法
$(function(){
//实现对字符码的截获,keypress中屏蔽了这些功能按键
document.onkeypress = banBackSpace;
//对功能按键的获取
document.onkeydown = banBackSpace;
})
注: 按键事件触发顺序: keydown -> keypress ->textInput -> keyup
存在问题:select下拉列表展开后,无法获取键盘事件,此时按Backspace键,浏览器还是会回退到历史;解决办法:将select下拉框改为easyUI的combobox;
以上这篇js禁止Backspace键使浏览器后退的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# js禁止浏览器后退
# JavaScript如何禁止Backspace键
# JS禁用浏览器退格键实现思路及代码
# 禁用backspace网页回退功能的实现代码
# javascript禁制后退键(Backspace)实例代码
# 给大家
# 按下
# 不太
# 希望能
# 几种
# 这篇
# 解决办法
# 小编
# 退到
# 大家多多
# 存在问题
# 输入框
# 之长
# 很清晰
# 加载
# 几种类型
# 下拉框
# currentTarget
# var
# target
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Swift中swift中的switch 语句
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
动图在线制作网站有哪些,滑动动图图集怎么做?
海南网站制作公司有哪些,海口网是哪家的?
高防服务器租用指南:配置选择与快速部署攻略
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
昵图网官网入口 昵图网素材平台官方入口
如何在阿里云虚拟服务器快速搭建网站?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
如何破解联通资金短缺导致的基站建设难题?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
HTML 中如何正确使用模板变量为元素的 name 属性赋值
如何快速生成凡客建站的专业级图册?
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
jquery插件bootstrapValidator表单验证详解
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
网站制作价目表怎么做,珍爱网婚介费用多少?
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
Android Socket接口实现即时通讯实例代码
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
Laravel如何实现数据库事务?(DB Facade示例)
Linux系统运维自动化项目教程_Ansible批量管理实战
原生JS获取元素集合的子元素宽度实例
如何快速搭建安全的FTP站点?
高防服务器如何保障网站安全无虞?
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
详解Android——蓝牙技术 带你实现终端间数据传输
什么是javascript作用域_全局和局部作用域有什么区别?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
Laravel如何处理表单验证?(Requests代码示例)
bing浏览器学术搜索入口_bing学术文献检索地址
详解阿里云nginx服务器多站点的配置
html5的keygen标签为什么废弃_替代方案说明【解答】
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
javascript日期怎么处理_如何格式化输出
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
如何在云服务器上快速搭建个人网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
如何在IIS中新建站点并配置端口与IP地址?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
进行网站优化必须要坚持的四大原则
JavaScript Ajax实现异步通信

