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

JS禁用瀏覽器退格鍵實現(xiàn)思路及代碼

 更新時間:2013年10月29日 17:46:16   投稿:whsnow  
關(guān)于瀏覽器退格鍵的禁用,可行的方法有很多,在本文將為大家詳細(xì)介紹下在js中時如何做到的,有需求的各位可以參考下

上周提交了一個項目(內(nèi)部使用的),一同事提出個BUG,說要禁用退格鍵(backspace或者叫后退鍵),因為這和他的習(xí)慣不一樣,擔(dān)心萬一文字錄入一半,他按了退格鍵,那整個頁面的內(nèi)容就白填了,然后信誓旦旦的說他做的系統(tǒng)中后退鍵都是不能用的,我這個系統(tǒng)有問題,當(dāng)時因為事多,只把這個問題記錄下來了,后來查了下他以前做的項目,也沒有對退格鍵進(jìn)行處理。自己的項目都沒處理,到我這嚷嚷來了,算了,不和年輕人一般見識。不就禁用個后退鍵,簡單。

其實說禁用也不是完全禁用,后退鍵在各瀏覽器下默認(rèn)為點擊了一下后退按鈕,只要保證正常的文字錄入還可以用,其他情況下的退格鍵一律禁掉??创a吧。

當(dāng)鍵盤敲下后退鍵(Backspace)后
1、禁止瀏覽器自動后退
2、但不影響密碼、單行文本、多行文本輸入框等的回退操作

解決方案:

網(wǎng)上搜了一下,發(fā)現(xiàn)有不少解決方案,相比較之下,zywang的方案較佳

在其基礎(chǔ)上,進(jìn)行補(bǔ)充和完善,以滿足需求,整理后的代碼如下:
代碼一、核心代碼:

function forbidBackSpace(e) { 
var ev = e || window.event; //獲取event對象 
var obj = ev.target || ev.srcElement; //獲取事件源 
var t = obj.type || obj.getAttribute('type'); //獲取事件源類型 
//獲取作為判斷條件的事件類型 
var vReadOnly = obj.readOnly; 
var vDisabled = obj.disabled; 
//處理undefined值情況 
vReadOnly = (vReadOnly == undefined) ? false : vReadOnly; 
vDisabled = (vDisabled == undefined) ? true : vDisabled; 
//當(dāng)敲Backspace鍵時,事件源類型為密碼或單行、多行文本的, 
//并且readOnly屬性為true或disabled屬性為true的,則退格鍵失效 
var flag1 = ev.keyCode == 8 && (t == "password" || t == "text" || t == "textarea") && (vReadOnly == true || vDisabled == true); 
//當(dāng)敲Backspace鍵時,事件源類型非密碼或單行、多行文本的,則退格鍵失效 
var flag2 = ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea"; 
//判斷 
if (flag2 || flag1) return false; 
} 
//禁止后退鍵 作用于Firefox、Opera 
// document.onkeypress = forbidBackSpace; 
//禁止后退鍵 作用于IE、Chrome 
document.onkeydown = forbidBackSpace; 

代碼二、

 function bindBackEvent() { //防止退格鍵
 	$(document).keydown(function(e){
 		e = window.event || e;
	 	var code = e.keyCode || e.which;
	 	if (code == 8) {
	 		var src = e.srcElement || e.target;
	 		var tag = src.tagName;
	 		if (tag != "INPUT" && tag != "TEXTAREA") {
	 			e.returnValue = false; 
	 			return false;
	 		} else if ((tag == "INPUT" || tag == "TEXTAREA") && src.readOnly == true) {
	 			e.returnValue = false;
	 			return false; 
	 		}
	 	}
 	});
 }


相關(guān)文章

  • js學(xué)習(xí)總結(jié)之dom2級事件基礎(chǔ)知識詳解

    js學(xué)習(xí)總結(jié)之dom2級事件基礎(chǔ)知識詳解

    這篇文章主要為大家詳細(xì)介紹了js學(xué)習(xí)總結(jié)之dom2級事件基礎(chǔ)知識,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 利用Echarts實現(xiàn)圖例顯示百分比效果

    利用Echarts實現(xiàn)圖例顯示百分比效果

    EChart開源來自百度商業(yè)前端數(shù)據(jù)可視化團(tuán)隊,基于html5?Canvas,是一個純Javascript圖表庫,提供直觀,生動,可交互,可個性化定制的數(shù)據(jù)可視化圖表。本文將利用EChart實現(xiàn)圖例中顯示百分比的效果,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • JS中利用localStorage防止頁面動態(tài)添加數(shù)據(jù)刷新后數(shù)據(jù)丟失

    JS中利用localStorage防止頁面動態(tài)添加數(shù)據(jù)刷新后數(shù)據(jù)丟失

    本文給大家分享一段js代碼利用利用localStorage防止頁面動態(tài)添加數(shù)據(jù)刷新后數(shù)據(jù)丟失問題,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2017-03-03
  • Echarts在Taro微信小程序開發(fā)中的踩坑記錄

    Echarts在Taro微信小程序開發(fā)中的踩坑記錄

    這篇文章主要介紹了Echarts在Taro微信小程序開發(fā)中的踩坑記錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • js獲取select標(biāo)簽的值且兼容IE與firefox

    js獲取select標(biāo)簽的值且兼容IE與firefox

    本篇文章主要介紹了js獲取select標(biāo)簽的值且兼容IE與firefox。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • Bootstrap表單組件教程詳解

    Bootstrap表單組件教程詳解

    表單常見的元素主要包括:文本輸入框、下拉選擇框、單選框、復(fù)選框、文本域、按鈕等。接下來通過本文給大家介紹Bootstrap表單組件教程,感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • JavaScript立即執(zhí)行函數(shù)的三種不同寫法

    JavaScript立即執(zhí)行函數(shù)的三種不同寫法

    這篇文章主要介紹了JavaScript立即執(zhí)行函數(shù)的三種不同寫法,需要的朋友可以參考下
    2014-09-09
  • javascript獲得網(wǎng)頁窗口實際大小的示例代碼

    javascript獲得網(wǎng)頁窗口實際大小的示例代碼

    網(wǎng)頁窗口實際大小如何獲得,可行的方法有很多,在本文將為大家介紹下使用javascript是怎樣做到的
    2013-09-09
  • 微信小程序之裁剪圖片成圓形的實現(xiàn)代碼

    微信小程序之裁剪圖片成圓形的實現(xiàn)代碼

    最近在開發(fā)小程序,產(chǎn)品經(jīng)理提了一個需求,要求微信小程序換頭像,用戶剪裁圖片必須是圓形。這篇文章主要介紹了微信小程序之裁剪圖片成圓形 ,需要的朋友可以參考下
    2018-10-10
  • uni-app 支持多端第三方地圖定位的方法

    uni-app 支持多端第三方地圖定位的方法

    這篇文章主要介紹了uni-app 支持多端第三方地圖定位的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01

最新評論

南陵县| 门源| 高碑店市| 长兴县| 石渠县| 新沂市| 盘山县| 德清县| 禹城市| 施甸县| 普兰县| 新邵县| 额尔古纳市| 务川| 延吉市| 南康市| 叶城县| 砚山县| 黑水县| 乌拉特中旗| 调兵山市| 多伦县| 玛纳斯县| 上蔡县| 姚安县| 深泽县| 桦南县| 衡阳县| 深水埗区| 同心县| 大姚县| 西贡区| 陇川县| 平江县| 朝阳区| 新平| 博乐市| 家居| 吉木乃县| 文山县| 康马县|