没有绝对的屏蔽,最好是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)相关推荐

  1. js禁用退格键(BackSpace)

    js禁用退格键(BackSpace) 在TextBox中设置 contentEditable="false" 或者 ReadOnly="true" 那么该文本框 ...

  2. 手机网站实现一键拨号及html5短信发送功能JS代码(微信适用)

    手机网站实现一键拨号及html5短信发送功能JS代码(微信适用) 来源:本站原创    作者:温州中网网络营销机构    发布时间:2014-1-10 10:45:44    点击数:3069 微信微 ...

  3. js禁止退格键(Backspace)

    为了解决按退格键返回历史页面的问题,用js禁止Backspace键是很好的选择. 下面的方法在项目中用到了,很不错的.贴上来分享一下: function banBackSpace(e) {       ...

  4. JS控制退格键删除内容

    ··· /** * 此方法返回true表示默认删除事件:即一个字符一个字符的删除: * 此方法返回false表示自定义删除事件,如何删除自定义即可 */ $(seletor).keydown(func ...

  5. html5 漫画效果,CSS3和js打造四格漫画风格的LightBox特效

    在这篇文章中我们想制作一个很有意思四格漫画风格的Lightbox特效.以前在报纸上可以看到很多的四格漫画,我们做的这个特效类似于这个风格,一个大方框中包含4格等宽等高的图片,当点击任意图片的时候,该图 ...

  6. 屏蔽Backspace(退格)键后退功能

    屏蔽"Backspace"(退格)键后退功能2008-01-17 16:18本来这个脚本不难,但是我接到的需求可不太容易实现 创建工单时,屏蔽"Backspace&quo ...

  7. JS屏蔽功能类(屏蔽F5,退格键,空格键......

    1.屏蔽功能类ITPUB个人空间Ar~${ d8L4Y ITPUB个人空间0O:n2A d;w s 1.1 屏蔽键盘所有键ITPUB个人空间\3Z0Ce5{ 4i#tb(G` \22328375< ...

  8. 屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键

    <script language="Javascript"><!--   //屏蔽鼠标右键.Ctrl+N.Shift+F10.F11.F5刷新.退格键   //A ...

  9. 禁止backspace键(退格键),但输入文本框时不禁止(兼容IE)

    Ext实现方式: Ext.getDoc().on('keydown',function(e){      if(e.getKey() == 8 && e.getTarget().typ ...

  10. 树莓派vi编辑文件时退格键和方向键无法正常使用的问题

    [问题现象] 树莓派在使用vi编辑文件时,发现退格删除键(Backspace键),无法删除,方向键变成了ABCD(对应上下右左)还自动换行. 现象如下图所示: [问题解决] 此问题根因是树莓派系统预装 ...

最新文章

  1. Mac下mysql服务器安装
  2. Delphi中的消息截获
  3. windows下如何正确使用Jconsole远程连接linux主机上的JVM
  4. 谷爱凌的父亲不是谷歌5号员工,但母亲一家都是高学历的运动健将
  5. P6282 [USACO20OPEN] Cereal S 思维
  6. 浏览器中的JavaFX
  7. [要记的]excel中把字母变为数字
  8. 青岛Uber优步司机奖励政策(9月14日~9月20日)
  9. Eclipse或者MyEclipse—在Eclipse或MyEclipse中的操作(3)
  10. 计算机领域顶级会议、期刊、人物与国家排名2019
  11. 综合项目之闪讯破解(三)之 如何用C++实现PPPOE拨号
  12. 2021江苏高考成绩查询:声讯台,2021年江苏高考成绩几点钟可以查询,附具体查询时间安排...
  13. 复现Reasoning with Heterogeneous Graph Alignment for Video Question Answering
  14. 【王木头学科学|深度学习】3.神经网络是什么?如何直接理解它的能力极限?它是如何无线逼近真理的
  15. STM8 I2C从机
  16. VMWare虚拟机 网络连接模式介绍
  17. 程序猿赚的那点钱算个P啊!
  18. 怎么安装打印机驱动?有没有快捷的方法?
  19. 最新微博登录过程分析
  20. 视频消音还能这样玩???

热门文章

  1. STM32:使用外部中断控制对射式红外传感器并计次
  2. 完全二叉树的顺序存储与非递归算法前序遍历
  3. 幻幕广告上线,沉浸式体验塑造大片即视感
  4. paddleocr cpp_infer 操作说明
  5. SAP 采购订单入库——收货业务分析
  6. win 10系统语言栏不见了怎么办?
  7. 中标麒麟linux配置网卡,中标麒麟Linux v7系统下设置双网卡bond或team绑定详细过程...
  8. 投入产出模型分析 分配平衡方程组和消耗平衡方程组
  9. 最大公约数是啥意思_要求最大公约数是什么含义(如何求最大公约数)
  10. BLN/BNA--surfer文件格式说明