最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript屏蔽Backspace鍵的實(shí)現(xiàn)代碼

 更新時(shí)間:2017年11月02日 11:34:04   作者:動力節(jié)點(diǎn)  
這篇文章主要介紹了JavaScript屏蔽Backspace鍵的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

今天在IE瀏覽器下發(fā)現(xiàn),當(dāng)把使用readonly="readonly"屬性將文本框設(shè)置成只讀<input type="text" readonly="readonly"/>時(shí)有一個(gè)奇怪的問題:如果光標(biāo)進(jìn)入只讀文本框,然后按下Backspace鍵,就會跳轉(zhuǎn)到上一個(gè)頁面,效果就像點(diǎn)擊了瀏覽器的后退按鈕返回前一個(gè)頁面一樣,而在火狐和google下沒有這樣的問題出現(xiàn),為了解決這個(gè)問題,寫了一個(gè)如下的處理方法,如果文本框是只讀的,那么就禁用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;
     //當(dāng)敲Backspace鍵時(shí),事件源類型為密碼或單行、多行文本的,
     //并且readonly屬性為true或enabled屬性為false的,則退格鍵失效
     var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea") 
           && vReadOnly=="readonly")?true:false;
     //當(dāng)敲Backspace鍵時(shí),事件源類型非密碼或單行、多行文本的,則退格鍵失效
     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鍵回退到前一個(gè)頁面的問題了"

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

當(dāng)我們的網(wǎng)頁內(nèi)有一個(gè)只讀屬性的表單時(shí),如下:

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

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

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

上面的代碼中,onkeydown表示的是當(dāng)按下按鍵時(shí)的意思,下面來JS函數(shù)pingbi的具體代碼,也是非常簡單的:

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

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

總結(jié)

以上所述是小編給大家介紹的JavaScript屏蔽Backspace鍵的實(shí)現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

定西市| 高邑县| 巢湖市| 襄樊市| 平乐县| 汪清县| 常宁市| 卢龙县| 铁岭市| 施甸县| 尚志市| 游戏| 确山县| 凌源市| 普兰店市| 内黄县| 东辽县| 西乌珠穆沁旗| 垦利县| 普兰县| 独山县| 杭州市| 巴彦淖尔市| 略阳县| 桃源县| 茶陵县| 梁河县| 黄石市| 闽侯县| 宾川县| 滦平县| 崇阳县| 土默特左旗| 新平| 商洛市| 运城市| 民县| 安达市| 上杭县| 盐津县| 荥经县|