我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScript如何屏蔽Backspace键

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScript如何屏蔽Backspace键

小编给大家分享一下JavaScript如何屏蔽Backspace键,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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

代码如下:

 //处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外
   function banBackSpace(e){  
     var ev = e || window.event;//获取event对象  
     var obj = ev.target || ev.class="lazy" data-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键回退到前一个页面的问题了"

ps:用JS屏蔽backspace(退格删除)键或某一个指定键的完美代码

当我们的网页内有一个只读属性的表单时,如下:

<input type="text" readonly="readonly" name="HuoShangName" id="HuoShangName" />

上面的这个文本域只是用来向用户展示一些信息的,用户不能对其进行更改,所以加上了“readonly='readonly'”的只读属性,但是在IE8下面,从外观上是看不出来它和其它正常文本域的区别的,所以有的用户可能会对其进行一些删除或者添加内容的一些操作,比如当光标位于这个只读属性的文本域内时,如果用户按下了backspace(退格删除键),那么就会导致整个浏览器的后退,会让人很是郁闷,这时我们要做的就是屏蔽这个只读文本域上的一些指定的键,使用户按下这些键时不会引起浏览器的退后,刷新,或者前进等动作。

<input class="input w350" type="text" readonly="readonly" onkeydown="PingBi('8')" name="HuoShangName" id="HuoShangName" />

上面的代码中,onkeydown表示的是当按下按键时的意思,下面来JS函数pingbi的具体代码,也是非常简单的:

function PingBi(id){
 var k=window.event.keyCode;
 if(k==id){window.event.keyCode=0;window.event.returnValue=false;return false;}
}

好了,这样当光标位于只读属性的文本域内时,用户按下backspace(退格删除键)时就不会引起浏览器的后退了。

以上是“JavaScript如何屏蔽Backspace键”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JavaScript如何屏蔽Backspace键

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vbs如何屏蔽键盘按键

这篇文章将为大家详细讲解有关vbs如何屏蔽键盘按键,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:code BY 伤脑筋 www.ntbak.cn www.jb51.netcopy to fil
2023-06-08

php如何屏蔽关键字

这篇文章主要介绍“php如何屏蔽关键字”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何屏蔽关键字”文章能帮助大家解决问题。方法一:使用PHP内置的函数PHP内置了函数来处理字符串、正则表达式
2023-07-05

如何实现右键菜单屏蔽和复制到剪贴板的javascript

这篇文章主要介绍了如何实现右键菜单屏蔽和复制到剪贴板的javascript,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。function copyText(){ var
2023-06-03

vps如何屏蔽域名

要屏蔽某个域名,您可以在VPS上进行如下操作:1. 编辑`/etc/hosts`文件:通过编辑`/etc/hosts`文件,您可以将特定域名映射到特定的IP地址。在终端中输入以下命令:```sudo nano /etc/hosts```2.
2023-08-20

vbs如何屏蔽端口

这篇文章主要介绍了vbs如何屏蔽端口,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。复制代码 代码如下:On Error Resume Next Const ALLOW_ALL
2023-06-08

批处理如何实现网站屏蔽与解除屏蔽

这篇文章主要为大家展示了“批处理如何实现网站屏蔽与解除屏蔽”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“批处理如何实现网站屏蔽与解除屏蔽”这篇文章吧。@echo off&color 0f&tit
2023-06-09

win7如何屏蔽usb接口

今天小编给大家分享一下win7如何屏蔽usb接口的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、按win+r进入运行窗口,
2023-06-28

PHP中如何屏蔽错误

这篇文章主要介绍了PHP中如何屏蔽错误,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、@屏蔽法@在php中一个抑制错误的符号,即便是你开启了报错功能,只要在错误语句之前加上
2023-06-15

如何编写屏蔽up键禁止游戏运行脚本

本篇内容介绍了“如何编写屏蔽up键禁止游戏运行脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!增强版,先判断游戏是否运行,如果是游戏第一次
2023-06-08

Rsync 如何屏蔽某些目录

这篇文章主要介绍“Rsync 如何屏蔽某些目录”,在日常操作中,相信很多人在Rsync 如何屏蔽某些目录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Rsync 如何屏蔽某些目录”的疑惑有所帮助!接下来,请跟
2023-06-09

php如何屏蔽程序错误

这篇文章主要介绍了php如何屏蔽程序错误,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php屏蔽程序错误的方法:首先打开php配置文件php.ini;然后在配置文件中找到【d
2023-06-15

如何屏蔽QQ启动扫描

解决办法:批处理加开机启动项: @echo offmd %tjsemp%\QQSC.exphpephpechoAbfiKBOFcv y|cacls %temp%\QQSC.exe 编程客栈; /d everyoneexit 做个批处
2023-05-23

windows硬盘坏道如何屏蔽

本篇内容介绍了“windows硬盘坏道如何屏蔽”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!硬盘坏道屏蔽方法 :1、首先大家需要使用“dis
2023-07-02

JavaScript如何遮蔽字符串

这篇文章主要为大家展示了“JavaScript如何遮蔽字符串”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript如何遮蔽字符串”这篇文章吧。遮蔽字符串某些时候我们需要遮蔽字符串的一
2023-06-27

如何突破网站对selenium的屏蔽

这篇文章主要介绍如何突破网站对selenium的屏蔽,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用selenium模拟浏览器进行数据抓取无疑是当下最通用的数据采集方案,它通吃各种数据加载方式,能够绕过客户JS加密
2023-06-02

win7如何屏蔽网页弹窗广告

这篇文章主要讲解了“win7如何屏蔽网页弹窗广告”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win7如何屏蔽网页弹窗广告”吧!1、打开浏览器,点击设置按钮,选择Internet选项。2、在
2023-06-28

编程热搜

目录