html5取消backspace后退功能,js屏蔽退格键(backspace或者叫后退键与F5)
没有绝对的屏蔽,最好是js结合服务端混合用。服务端通过判断要打开的页面的参数是否第一次打开,如果不是的话就跳转到指定页面。这里只说js方法。
我们在真实的项目开发中经常会使用JS 对键盘上的一些按键进行禁用,常见的比如说退格键(backspace/ 后退键),我在一个项目中就遇到过在页面编辑的时候禁用掉退格键,因为退格键会发生页面后退,这样编辑的内容都会失去了,非常的恶心人。ok ,废话少说,直接上代码。
比较好的代码,处理键盘事件 禁止后退键(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');
var vEnabled = obj.getAttribute('enabled');
//处理null值情况
vReadOnly = (vReadOnly == null) ? false : vReadOnly;
vEnabled = (vEnabled == null) ? true : vEnabled;
//当敲Backspace键时,事件源类型为密码或单行、多行文本的,
//并且readonly属性为true或enabled属性为false的,则退格键失效
var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea")
&& (vReadOnly==true || vEnabled!=true))?true:false;
//当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效
var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea")
?true:false;
//判断
if(flag2){
return false;
}
if(flag1){
return false;
}
}
//禁止后退键 作用于Firefox、Opera
document.οnkeypress=banBackSpace;
//禁止后退键 作用于IE、Chrome
document.οnkeydοwn=banBackSpace;
使用方法:把上面的js代码放到
之间就ok了
下面是其它网友的补充
javascript:window.history.forward(1);//禁用回退(比如:当前在B页面,点击后退会退回到A页面,那么该代码写在A页面,然后在B页面就不会回退到A了)
//禁止后退键 作用于Firefox、Opera
document.οnkeypress=banBackSpace;
//禁止后退键 作用于IE、Chrome
document.οnkeydοwn=banBackSpace;
//处理键盘事件 禁止后退键(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');
var vEnabled = obj.getAttribute('enabled');
//处理null值情况
vReadOnly = (vReadOnly == null) ? false : vReadOnly;
vEnabled = (vEnabled == null) ? true : vEnabled;
//当敲Backspace键时,事件源类型为密码或单行、多行文本的,
//并且readonly属性为true或enabled属性为false的,则退格键失效
var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea") && (vReadOnly==true || vEnabled!=true))?true:false;
//当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效
var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea") ?true:false;
//判断
if(flag2){
return false;
}
if(flag1){
return false;
}
}
屏蔽F5
//屏蔽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;
}
这篇文章就介绍到这了,需要的朋友可以参考一下
html5取消backspace后退功能,js屏蔽退格键(backspace或者叫后退键与F5)相关推荐
- js禁用退格键(BackSpace)
js禁用退格键(BackSpace) 在TextBox中设置 contentEditable="false" 或者 ReadOnly="true" 那么该文本框 ...
- 手机网站实现一键拨号及html5短信发送功能JS代码(微信适用)
手机网站实现一键拨号及html5短信发送功能JS代码(微信适用) 来源:本站原创 作者:温州中网网络营销机构 发布时间:2014-1-10 10:45:44 点击数:3069 微信微 ...
- js禁止退格键(Backspace)
为了解决按退格键返回历史页面的问题,用js禁止Backspace键是很好的选择. 下面的方法在项目中用到了,很不错的.贴上来分享一下: function banBackSpace(e) { ...
- JS控制退格键删除内容
··· /** * 此方法返回true表示默认删除事件:即一个字符一个字符的删除: * 此方法返回false表示自定义删除事件,如何删除自定义即可 */ $(seletor).keydown(func ...
- html5 漫画效果,CSS3和js打造四格漫画风格的LightBox特效
在这篇文章中我们想制作一个很有意思四格漫画风格的Lightbox特效.以前在报纸上可以看到很多的四格漫画,我们做的这个特效类似于这个风格,一个大方框中包含4格等宽等高的图片,当点击任意图片的时候,该图 ...
- 屏蔽Backspace(退格)键后退功能
屏蔽"Backspace"(退格)键后退功能2008-01-17 16:18本来这个脚本不难,但是我接到的需求可不太容易实现 创建工单时,屏蔽"Backspace&quo ...
- JS屏蔽功能类(屏蔽F5,退格键,空格键......
1.屏蔽功能类ITPUB个人空间Ar~${ d8L4Y ITPUB个人空间0O:n2A d;w s 1.1 屏蔽键盘所有键ITPUB个人空间\3Z0Ce5{ 4i#tb(G` \22328375< ...
- 屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键
<script language="Javascript"><!-- //屏蔽鼠标右键.Ctrl+N.Shift+F10.F11.F5刷新.退格键 //A ...
- 禁止backspace键(退格键),但输入文本框时不禁止(兼容IE)
Ext实现方式: Ext.getDoc().on('keydown',function(e){ if(e.getKey() == 8 && e.getTarget().typ ...
- 树莓派vi编辑文件时退格键和方向键无法正常使用的问题
[问题现象] 树莓派在使用vi编辑文件时,发现退格删除键(Backspace键),无法删除,方向键变成了ABCD(对应上下右左)还自动换行. 现象如下图所示: [问题解决] 此问题根因是树莓派系统预装 ...
最新文章
- Mac下mysql服务器安装
- Delphi中的消息截获
- windows下如何正确使用Jconsole远程连接linux主机上的JVM
- 谷爱凌的父亲不是谷歌5号员工,但母亲一家都是高学历的运动健将
- P6282 [USACO20OPEN] Cereal S 思维
- 浏览器中的JavaFX
- [要记的]excel中把字母变为数字
- 青岛Uber优步司机奖励政策(9月14日~9月20日)
- Eclipse或者MyEclipse—在Eclipse或MyEclipse中的操作(3)
- 计算机领域顶级会议、期刊、人物与国家排名2019
- 综合项目之闪讯破解(三)之 如何用C++实现PPPOE拨号
- 2021江苏高考成绩查询:声讯台,2021年江苏高考成绩几点钟可以查询,附具体查询时间安排...
- 复现Reasoning with Heterogeneous Graph Alignment for Video Question Answering
- 【王木头学科学|深度学习】3.神经网络是什么?如何直接理解它的能力极限?它是如何无线逼近真理的
- STM8 I2C从机
- VMWare虚拟机 网络连接模式介绍
- 程序猿赚的那点钱算个P啊!
- 怎么安装打印机驱动?有没有快捷的方法?
- 最新微博登录过程分析
- 视频消音还能这样玩???
热门文章
- STM32:使用外部中断控制对射式红外传感器并计次
- 完全二叉树的顺序存储与非递归算法前序遍历
- 幻幕广告上线,沉浸式体验塑造大片即视感
- paddleocr cpp_infer 操作说明
- SAP 采购订单入库——收货业务分析
- win 10系统语言栏不见了怎么办?
- 中标麒麟linux配置网卡,中标麒麟Linux v7系统下设置双网卡bond或team绑定详细过程...
- 投入产出模型分析 分配平衡方程组和消耗平衡方程组
- 最大公约数是啥意思_要求最大公约数是什么含义(如何求最大公约数)
- BLN/BNA--surfer文件格式说明