zoukankan      html  css  js  c++  java
  • js屏蔽键盘退格键(BackSpace)

    系统页面列表某一列数据可编辑,用户反应 编辑数据的时候使用退格键BackSpace删除,有时会出现退出系统情况,为了防止出现类似的情况,需要再系统中将 点击退格键退回到上一页或者退出系统的功能禁用,根据需求需要实现以下功能:

    当键盘敲下后退键(Backspace)后  
    1、禁止浏览器自动后退  
    2、但不影响密码、单行文本、多行文本输入框等的回退操作  
    

      代码如下:

     1 <script type="text/javascript">  
     2   
     3 //处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外  
     4 function banBackSpace(e){     
     5     var ev = e || window.event;//获取event对象     
     6     var obj = ev.target || ev.srcElement;//获取事件源     
     7       
     8     var t = obj.type || obj.getAttribute('type');//获取事件源类型    
     9       
    10     //获取作为判断条件的事件类型  
    11     var vReadOnly = obj.getAttribute('readonly');  
    12     var vEnabled = obj.getAttribute('enabled');  
    13     //处理null值情况  
    14     vReadOnly = (vReadOnly == null) ? false : vReadOnly;  
    15     vEnabled = (vEnabled == null) ? true : vEnabled;  
    16       
    17     //当敲Backspace键时,事件源类型为密码或单行、多行文本的,  
    18     //并且readonly属性为true或enabled属性为false的,则退格键失效  
    19     var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea")   
    20                 && (vReadOnly==true || vEnabled!=true))?true:false;  
    21      
    22     //当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效  
    23     var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea")  
    24                 ?true:false;          
    25       
    26     //判断  
    27     if(flag2){  
    28         return false;  
    29     }  
    30     if(flag1){     
    31         return false;     
    32     }     
    33 }  
    34   
    35 //禁止后退键 作用于Firefox、Opera  
    36 document.οnkeypress=banBackSpace;  
    37 //禁止后退键  作用于IE、Chrome  
    38 document.οnkeydοwn=banBackSpace;  
    39   
    40 </script>  

    原文链接:https://blog.csdn.net/tonyd1989/article/details/7711853

  • 相关阅读:
    1104--DNA排序
    poj1050-To the Max
    编译:一个 C 程序的艺术之旅(转载)
    大话同步/异步、阻塞/非阻塞(转载)
    Windows 在 git bash下使用 conda 命令
    Python Multiprocessing 多进程,使用多核CPU计算 并使用tqdm显示进度条
    Python 写入训练日志文件并控制台输出
    nn.Conv2d 参数及输入输出详解
    Python中 list, numpy.array, torch.Tensor 格式相互转化
    Linux 上传代码到github
  • 原文地址:https://www.cnblogs.com/Leeblog200814/p/15718007.html
Copyright © 2011-2022 走看看