js如何禁用Backspace退格鍵

螞蟻小編發表於2017-03-16

在實際應用中,出於某些考慮,可能需要禁用退格鍵,下面就是一段來自於網路上的程式碼例項,希望能夠給需要的朋友帶來一定的幫助,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
function banBackSpace(e) {  
  var ev = e || window.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  
}  
//禁止退格鍵 作用於Firefox、Opera  
 document.onkeypress = banBackSpace;  
//禁止退格鍵 作用於IE、Chrome  
document.onkeydown = banBackSpace;

相關文章