如果文本框是只讀的,那么就禁用Backspace鍵。如果有文本框就繼續可以使用。
Vue代碼可以直接復制到id="app"的頁面。
代碼如下:
//處理鍵盤事件 禁止后退鍵(Backspace)密碼或單行、多行文本框除外 function banBackSpace(e){ var ev = e || window.event;//獲取event對象 var obj = ev.target || ev.srcElement;//獲取事件源 var t = obj.type || obj.getAttribute('type');//獲取事件源類型 //獲取作為判斷條件的事件類型 var vReadOnly = obj.getAttribute('readonly'); //處理null值情況 vReadOnly = (vReadOnly == "") ? false : vReadOnly; //當敲Backspace鍵時,事件源類型為密碼或單行、多行文本的, //並且readonly屬性為true或enabled屬性為false的,則退格鍵失效 var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea") && vReadOnly=="readonly")?true:false; //當敲Backspace鍵時,事件源類型非密碼或單行、多行文本的,則退格鍵失效 var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea") ?true:false; //判斷 if(flag2){ return false; } if(flag1){ return false; } } window.onload=function(){ //禁止后退鍵 作用於Firefox、Opera document.onkeypress=banBackSpace; //禁止后退鍵 作用於IE、Chrome document.onkeydown=banBackSpace; }