在專案中遇到按下backspace鍵讓瀏覽器後退的問題,上網搜了幾種解決方案都不太理想。於是集眾人之智,採眾家之長,歸納如下:
這裡主要參考部落格
1、在公用js中定義阻止backspace的方法
1function
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...