js禁止Backspace鍵使瀏覽器後退

2022-05-14 20:40:58 字數 918 閱讀 8551

在專案中遇到按下backspace鍵讓瀏覽器後退的問題,上網搜了幾種解決方案都不太理想。於是集眾人之智,採眾家之長,歸納如下:

這裡主要參考部落格

1、在公用js中定義阻止backspace的方法

1

function

banbackspace(e)

12var tagtype = obj.type.touppercase();//

標籤型別

13//

input標籤除了下面幾種型別,全部阻止backspace

14if(tagname=='input' && (tagtype!='text' && tagtype!='textarea' && tagtype!='password'))

17//

input或者textarea輸入框如果不可編輯則阻止backspace

18if((tagname=='input' || tagname=='textarea') && (obj.readonly==true || obj.disabled ==true

))21}22

}23function

stopit(ev)

28if

(ev.returnvalue)

32return

false

;33 }

方法注釋寫的很清晰了,這裡不過多解釋。

2、頁面載入完成就呼叫該方法

1 $(function

())

注:  按鍵事件觸發順序: keydown -> keypress ->textinput -> keyup

存在問題:select下拉列表展開後,無法獲取鍵盤事件,此時按backspace鍵,瀏覽器還是會回退到歷史;解決辦法:將select下拉框改為easyui的combobox;

js禁止後退鍵(Backspace)

處理鍵盤事件 禁止後退鍵 backspace 密碼或單行 多行文字框除外 function banbackspace e if flag1 禁止後退鍵 作用於firefox opera document.nkeypress banbackspace 禁止後退鍵 作用於ie chrome docume...

JS禁止後退鍵 backspace 使瀏覽器後退

背景說明 今天專案測試中,同事發現乙個bug,當鍵盤敲下後退鍵 backspace 後,瀏覽器自動後退,不符合需求,故建議禁止瀏覽器後退鍵。提出需求 當鍵盤敲下後退鍵 backspace 後 1 禁止瀏覽器自動後退 2 但不影響密碼 單行文字 多行文字輸入框等的回退操作 解決方案 網上搜了一下,發現...

防止backspace鍵後退網頁

防止backspace鍵後退網頁 document.onkeydown function event if event.keycode 8 backspace的keycode 8 var type document.activeelement.type 獲取焦點型別 if type text typ...