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

首頁(yè) > 編程 > JavaScript > 正文

javascript阻止瀏覽器后退事件防止誤操作清空表單

2019-11-20 21:36:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
由于客戶大多數(shù)是不懂電腦的大菜鳥(niǎo)。所以誤操作比較多,有時(shí)沒(méi)有選中文本框,然后不小心按了退格之后,剛剛辛苦填好的表單就什么也后退的沒(méi)有了。網(wǎng)上查了好多資料,然后整合了一下。分享給大家。也希望酸奶姐姐來(lái)看看我的第一篇技術(shù)博客。呵呵(別介意我提到了你哦。)。廢話不多說(shuō)。上源碼。
復(fù)制代碼 代碼如下:

$(function(){
//處理鍵盤(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 : true;
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 || 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;
window.history.forward(1);//屏蔽瀏覽器自帶的后退鍵
})

需要注意的地方是:

這段代碼一定要放到初始化方法中。然后用document.onkeypress=banBackSpace去調(diào)用自己寫(xiě)的方法。
復(fù)制代碼 代碼如下:

vReadOnly = (vReadOnly == null) ? false : true;對(duì)于這段代碼,原來(lái)冒號(hào)后面是vReadOnly<span style="font-family: Arial, Helvetica, sans-serif;">這個(gè)值,后來(lái)發(fā)現(xiàn)在我項(xiàng)目中它返回空,不是null于是改成了true。</span>

按照上面方法即可實(shí)現(xiàn)在非text,password,textare時(shí)按退格阻止瀏覽器后退事件,但是不會(huì)阻止在文本框有值時(shí)的退格事件。這是我的第一篇博客,希望各位多多捧場(chǎng)。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鹿邑县| 永寿县| 永城市| 仪征市| 嘉兴市| 共和县| 吕梁市| 崇信县| 万载县| 崇左市| 永胜县| 平和县| 临城县| 新建县| 皋兰县| 武夷山市| 精河县| 霸州市| 襄垣县| 双鸭山市| 定边县| 河西区| 鲁甸县| 万宁市| 孟州市| 宜春市| 弥勒县| 罗田县| 宁都县| 阳朔县| 乌拉特前旗| 合阳县| 兖州市| 霸州市| 盐城市| 神农架林区| 铜梁县| 应城市| 会同县| 潮州市| 辽宁省|