這篇文章主要介紹了js如何屏蔽退格鍵,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
沒(méi)有絕對(duì)的屏蔽,最好是js結(jié)合服務(wù)端混合用。服務(wù)端通過(guò)判斷要打開(kāi)的頁(yè)面的參數(shù)是否第一次打開(kāi),如果不是的話(huà)就跳轉(zhuǎn)到指定頁(yè)面。這里只說(shuō)js方法。
我們?cè)谡鎸?shí)的項(xiàng)目開(kāi)發(fā)中經(jīng)常會(huì)使用JS 對(duì)鍵盤(pán)上的一些按鍵進(jìn)行禁用,常見(jiàn)的比如說(shuō)退格鍵(backspace/ 后退鍵),我在一個(gè)項(xiàng)目中就遇到過(guò)在頁(yè)面編輯的時(shí)候禁用掉退格鍵,因?yàn)橥烁矜I會(huì)發(fā)生頁(yè)面后退,這樣編輯的內(nèi)容都會(huì)失去了,非常的惡心人。ok ,廢話(huà)少說(shuō),直接上代碼。
比較好的代碼,處理鍵盤(pán)事件 禁止后退鍵(Backspace)密碼或單行、多行文本框除外
<script type="text/javascript"> //處理鍵盤(pán)事件 禁止后退鍵(Backspace)密碼或單行、多行文本框除外 function banBackSpace(e){ var ev = e || window.event;//獲取event對(duì)象 var obj = ev.target || ev.srcElement;//獲取事件源 var t = obj.type || obj.getAttribute('type');//獲取事件源類(lèi)型 //獲取作為判斷條件的事件類(lèi)型 var vReadOnly = obj.getAttribute('readonly'); var vEnabled = obj.getAttribute('enabled'); //處理null值情況 vReadOnly = (vReadOnly == null) ? false : vReadOnly; vEnabled = (vEnabled == null) ? true : vEnabled; //當(dāng)敲Backspace鍵時(shí),事件源類(lèi)型為密碼或單行、多行文本的, //并且readonly屬性為true或enabled屬性為false的,則退格鍵失效 var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea") && (vReadOnly==true || vEnabled!=true))?true:false; //當(dāng)敲Backspace鍵時(shí),事件源類(lèi)型非密碼或單行、多行文本的,則退格鍵失效 var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea") ?true:false; //判斷 if(flag2){ return false; } if(flag1){ return false; } } //禁止后退鍵 作用于Firefox、Opera document.onkeypress=banBackSpace; //禁止后退鍵 作用于IE、Chrome document.onkeydown=banBackSpace; </script>
使用方法:把上面的js代碼放到<head></head>之間就ok了
下面是其它網(wǎng)友的補(bǔ)充
<script type="text/javascript"> javascript:window.history.forward(1);//禁用回退(比如:當(dāng)前在B頁(yè)面,點(diǎn)擊后退會(huì)退回到A頁(yè)面,那么該代碼寫(xiě)在A(yíng)頁(yè)面,然后在B頁(yè)面就不會(huì)回退到A了) </script> <script type="text/javascript"> //禁止后退鍵 作用于Firefox、Opera document.onkeypress=banBackSpace; //禁止后退鍵 作用于IE、Chrome document.onkeydown=banBackSpace; //處理鍵盤(pán)事件 禁止后退鍵(Backspace)密碼或單行、多行文本框除外 function banBackSpace(e){ var ev = e || window.event;//獲取event對(duì)象 var obj = ev.target || ev.srcElement;//獲取事件源 var t = obj.type || obj.getAttribute('type');//獲取事件源類(lèi)型 //獲取作為判斷條件的事件類(lèi)型 var vReadOnly = obj.getAttribute('readonly'); var vEnabled = obj.getAttribute('enabled'); //處理null值情況 vReadOnly = (vReadOnly == null) ? false : vReadOnly; vEnabled = (vEnabled == null) ? true : vEnabled; //當(dāng)敲Backspace鍵時(shí),事件源類(lèi)型為密碼或單行、多行文本的, //并且readonly屬性為true或enabled屬性為false的,則退格鍵失效 var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea") && (vReadOnly==true || vEnabled!=true))?true:false; //當(dāng)敲Backspace鍵時(shí),事件源類(lèi)型非密碼或單行、多行文本的,則退格鍵失效 var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea") ?true:false; //判斷 if(flag2){ return false; } if(flag1){ return false; } } </script>
屏蔽F5
<script type="text/javascript"> //屏蔽F5 document.onkeydown = function(e){ e = window.event || e; var keycode = e.keyCode || e.which; if(e.ctrlKey || e.altKey || e.shiftKey || keycode >= 112 && keycode <= 123){ if(window.event){// ie try{e.keyCode = 0;}catch(e){} e.returnValue = false; }else{// ff e.preventDefault(); } } } //屏蔽右鍵 document.oncontextmenu = function(e){ return false; } </script>
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“js如何屏蔽退格鍵”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計(jì)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
標(biāo)題名稱(chēng):js如何屏蔽退格鍵-創(chuàng)新互聯(lián)
本文地址:http://chinadenli.net/article24/deseje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、Google、網(wǎng)站改版、ChatGPT、品牌網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容