系統頁面列表某一列數據可編輯,用戶反應 編輯數據的時候使用退格鍵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