js屏蔽鍵盤退格鍵(BackSpace)


 

系統頁面列表某一列數據可編輯,用戶反應 編輯數據的時候使用退格鍵BackSpace刪除,有時會出現退出系統情況,為了防止出現類似的情況,需要再系統中將 點擊退格鍵退回到上一頁或者退出系統的功能禁用,根據需求需要實現以下功能:

當鍵盤敲下后退鍵(Backspace)后  
1、禁止瀏覽器自動后退  
2、但不影響密碼、單行文本、多行文本輸入框等的回退操作  

  代碼如下:

 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>  

 

 

原文鏈接:https://blog.csdn.net/tonyd1989/article/details/7711853


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM