Webプロジェクトでbackspaceキーの後退を禁止

1371 ワード

キーボードがBackspace(Backspace)をタップした後1、ブラウザの自動後退を禁止2、パスワード、単行テキスト、複数行テキスト入力ボックスなどのロールバック操作に影響しない
   
//            (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;   
    }   
}   
  
//         Firefox、Opera   
document.onkeypress=banBackSpace;   
//         IE、Chrome   
document.onkeydown=banBackSpace;