禁止後退鍵(Backspace)終極方案

  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> 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章