国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript屏蔽Backspace鍵的實現代碼

2019-11-19 15:00:18
字體:
來源:轉載
供稿:網友

今天在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鍵的實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 皮山县| 浠水县| 济南市| 肃宁县| 达孜县| 昔阳县| 太白县| 永年县| 仪征市| 陕西省| 漾濞| 砀山县| 邵阳县| 雷山县| 盐城市| 昌图县| 车险| 邮箱| 横峰县| 峨山| 通辽市| 昂仁县| 化德县| 望城县| 云林县| 大安市| 莲花县| 海盐县| 连云港市| 贡觉县| 景洪市| 修文县| 京山县| 临朐县| 栾城县| 衡山县| 阿拉尔市| 会同县| 盐源县| 宁陕县| 恩平市|