js禁止后退键(Backspace)

来源:互联网 发布:mysql redis 缓存 编辑:程序博客网 时间:2024/06/01 20:56

//处理键盘事件 禁止后退键(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'); 

   var vEnabled =obj.getAttribute('enabled'); 

    //处理null值情况 

   vReadOnly = (vReadOnly == null) ? false : vReadOnly; 

   vEnabled = (vEnabled == null) ? true : vEnabled; 

     

   //当敲Backspace键时,事件源类型为密码或单行、多行文本的, 

   //并且readonly属性为true或enabled属性为false的,则退格键失效 

   var flag1=(ev.keyCode == 8&& (t=="password" || t=="text" || t=="textarea")  

                && (vReadOnly==true ||vEnabled!=true))?true:false; 

    

   //当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效 

   var flag2=(ev.keyCode == 8&& t != "password" && t != "text"&& t != "textarea") 

                ?true:false;         

     

   //判断 

   if(flag2){ 

        return false; 

   } 

   if(flag1){    

        return false;    

   }    

 

//禁止后退键作用于FirefoxOpera 

document.onkeypress=banBackSpace; 

//禁止后退键 作用于IEChrome 

document.onkeydown=banBackSpace;

 

 

 

 

 

注意:浏览器的兼容性,上面的代码把文本框等其他空间筛选出来了,下面的代码一律都不能回退

function banBackSpace(e){    

       varev = e || window.event;

       if(ev.keyCode ==8){

           return false;

       }

    

    }

   //禁止后退键作用于FirefoxOpera 

    document.onkeypress=banBackSpace; 

    //禁止后退键 作用于IEChrome 

    document.onkeydown=banBackSpace;

0 0