91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript如何屏蔽Backspace鍵

發布時間:2021-07-09 14:02:31 來源:億速云 閱讀:140 作者:小新 欄目:web開發

小編給大家分享一下JavaScript如何屏蔽Backspace鍵,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

今天在IE瀏覽器下發現,當把使用readonly="readonly"屬性將文本框設置成只讀<input type="text" readonly="readonly"/>時有一個奇怪的問題:如果光標進入只讀文本框,然后按下Backspace鍵,就會跳轉到上一個頁面,效果就像點擊了瀏覽器的后退按鈕返回前一個頁面一樣,而在火狐和google下沒有這樣的問題出現,為了解決這個問題,寫了一個如下的處理方法,如果文本框是只讀的,那么就禁用Backspace鍵。

代碼如下:

 //處理鍵盤事件 禁止后退鍵(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;
 }

  加上這樣的處理之后,就可以解決"只讀輸入框在IE下按下Backspace鍵回退到前一個頁面的問題了"

ps:用JS屏蔽backspace(退格刪除)鍵或某一個指定鍵的完美代碼

當我們的網頁內有一個只讀屬性的表單時,如下:

<input type="text" readonly="readonly" name="HuoShangName" id="HuoShangName" />

上面的這個文本域只是用來向用戶展示一些信息的,用戶不能對其進行更改,所以加上了“readonly='readonly'”的只讀屬性,但是在IE8下面,從外觀上是看不出來它和其它正常文本域的區別的,所以有的用戶可能會對其進行一些刪除或者添加內容的一些操作,比如當光標位于這個只讀屬性的文本域內時,如果用戶按下了backspace(退格刪除鍵),那么就會導致整個瀏覽器的后退,會讓人很是郁悶,這時我們要做的就是屏蔽這個只讀文本域上的一些指定的鍵,使用戶按下這些鍵時不會引起瀏覽器的退后,刷新,或者前進等動作。

<input class="input w350" type="text" readonly="readonly" onkeydown="PingBi('8')" name="HuoShangName" id="HuoShangName" />

上面的代碼中,onkeydown表示的是當按下按鍵時的意思,下面來JS函數pingbi的具體代碼,也是非常簡單的:

function PingBi(id){
 var k=window.event.keyCode;
 if(k==id){window.event.keyCode=0;window.event.returnValue=false;return false;}
}

好了,這樣當光標位于只讀屬性的文本域內時,用戶按下backspace(退格刪除鍵)時就不會引起瀏覽器的后退了。

以上是“JavaScript如何屏蔽Backspace鍵”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五莲县| 台北县| 仁怀市| 章丘市| 阿克| 苗栗市| 大宁县| 嵊州市| 蒙阴县| 阿荣旗| 玉溪市| 德化县| 凤台县| 临夏县| 西峡县| 五原县| 黄平县| 抚顺市| 清涧县| 东光县| 龙南县| 梁河县| 容城县| 新巴尔虎右旗| 彰化县| 阿巴嘎旗| 图们市| 林芝县| 三台县| 水城县| 宜都市| 分宜县| 凤台县| 福海县| 墨玉县| 兴宁市| 济阳县| 山西省| 昭觉县| 图们市| 西和县|