JS禁止后退鍵(Backspace)

m45y 9年前發布 | 1K 次閱讀 JavaScript

//處理鍵盤事件 禁止后退鍵(Backspace)密碼或單行、多行文本框除外       
function forbidBackSpace(e) {            
    var ev = e || window.event; //獲取event對象          
  var obj = ev.target || ev.srcElement; //獲取事件源             
  var t = obj.type || obj.getAttribute('type'); 
  //獲取事件源類型            
  //獲取作為判斷條件的事件類型          
  var vReadOnly = obj.readOnly;            
  var vDisabled = obj.disabled;            
  //處理undefined值情況            
  vReadOnly = (vReadOnly == undefined) ? false : vReadOnly;          
  vDisabled = (vDisabled == undefined) ? true : vDisabled;            
  //當敲Backspace鍵時,事件源類型為密碼或單行、多行文本的,             
  //并且readOnly屬性為true或disabled屬性為true的,則退格鍵失效            
  var flag1 = ev.keyCode == 8 && (t == "password" || t == "text" || t == "textarea") && (vReadOnly == true || vDisabled == true);            
  //當敲Backspace鍵時,事件源類型非密碼或單行、多行文本的,則退格鍵失效           
  var flag2 = ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea";           
  //判斷           
  if (flag2 || flag1) return false;      
  }              
//禁止后退鍵  作用于IE、Chrome       
document.onkeydown = forbidBackSpace;

 本文由用戶 m45y 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!