- 浏览: 664621 次
- 性别:
- 来自: 安徽
文章分类
- 全部博客 (252)
- Html/Div+CSS (12)
- Js/Jquery (34)
- Flex (2)
- Ajax (3)
- Java (35)
- C# (15)
- Spring (16)
- Hibernate (13)
- Struts2 (12)
- Struts1 (7)
- DWR (1)
- iBatis/myBatis (9)
- Tag(JSTL、EL) (1)
- Android (44)
- SQL (7)
- SEO (7)
- Exception (3)
- Tool (10)
- Other (3)
- WebService (9)
- Apache (7)
- Ext (0)
- Utils (12)
- thinking in programme (2)
- Hadoop (0)
- ActiveMQ (0)
- HTML5/CSS3 (0)
- WPF (1)
- NodeJs (1)
- 设计模式 (0)
- 程序人生 (1)
- 随笔 (1)
- Linux (1)
- Load Balance (0)
最新评论
-
drinkjava2:
太复杂了而且不通用,利用ThreadLocal可完美解决这一问 ...
JDBC的多条件动态查询 -
u013107014:
multipartRequest.getFiles(" ...
多文件上传 by MultipartFile and Multiple -
liyys:
可惜没讲你mysql数据库的表的设计
iBatis入门 -
Mapple_leave:
效果还是挺不错的,谢谢了。
中文简体与繁体的转换 -
arcpad:
JS禁用浏览器退格键
我们在真实的项目开发中经常会使用JS 对键盘上的一些按键进行禁用,常见的比如说退格键(backspace/ 后退键),我在一个项目中就遇到过在页面编辑的时候禁用掉退格键,因为退格键会发生页面后退,这样编辑的内容都会失去了,非常的恶心人。ok ,废话少说,直接上代码。
<script type="text/javascript"> //处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外 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; //当敲Backspace键时,事件源类型为密码或单行、多行文本的, //并且readOnly属性为true或disabled属性为true的,则退格键失效 var flag1 = ev.keyCode == 8 && (t == "password" || t == "text" || t == "textarea") && (vReadOnly == true || vDisabled == true); //当敲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; </script>
Ok ,下面需要做几点说明:
1 、可能有的人没有考虑到页面的中有一个不可编辑的输入框的时候,如果光标在此输入框中,敲退格键的时候依然会发生后退;
2 、有的人可能在获取作为判断条件的事件类型的时候是通过
var vReadOnly = obj.getAttribute('readonly'); 和
var vEnabled = obj.getAttribute('enabled');
这样的话
在Firefox
及Chrome
中 obj.getAttribute('readonly')
返回的值是null,
或"",
而在IE
中,
该方法返回的是"readonly"
或"",
而且根据测试,
并没有"enable"
的属性,
而应该是"disabled",
因此,
上述方法固然会失效.
而且获取DOM
的对象属性及标准属性的时候,
不应该采用getAttribute
方法,
这是不准确的,
应采用obj.attribute
标准方法,
这样不会存在因浏览器对js
的解释差异而导致的兼容性问题
;
其实如果大家注意看上面的代码可以发现,通过这种方式我们可以禁用键盘上的的所有按键,只要找到对应的 keyCode 即可。
PS:新年好!
发表评论
-
js怎么控制textarea滚动条定位在光标的位置
2014-05-27 15:10 2160如题:先blur,后focus。 ... -
js 禁止鼠标滑轮滚动的事件
2014-05-22 19:00 1823如题,代码如下: // left: 37, up: ... -
网页上“分享”的实现
2012-12-06 13:40 961看看网页上分享是如何实现的吧 http://www.j ... -
用iframe模拟ajax上传文件
2012-12-05 08:57 2401项目中同事使用AjaxFrom上传文件时后台保存成功,而前台确 ... -
jquery.validationEngine
2012-12-04 09:07 3976在项目中表单的验证的选 ... -
AjaxFrom
2012-11-30 13:24 1034项目中使用了AjaxFrom,静下心来看了看AjaxFr ... -
学会读JQuery等JS插件源码
2012-12-06 08:37 2047看了 http://my24 ... -
打开对话框时,设置焦点到 input 域失效
2012-12-25 08:22 1589当打开对话框时,想设置焦点到 input 域。使用的是 ... -
js锚点定位
2012-09-09 22:09 1745<a name="ST"> ... -
JQuery获取Radio选中的值
2012-08-31 14:57 2113JS: var type = $("input:[ ... -
使用jQuery清空file文件域的方法
2012-11-08 08:54 1094一般来说,在对一个文件域(input type=”file”) ... -
input提示
2012-08-21 16:46 1342效果图: 代码: <!DOCTYPE html ... -
JS(DOM)对象和JQuery对象的相互转换
2012-08-17 00:06 2728在项目中如果涉及js操作比较多的时候,经常需要js对象和jqu ... -
判断某个元素是否在js数组中
2012-08-16 10:43 0Array.prototype.S = String.fro ... -
SCRIPT1028: Expected identifier, string or number
2012-07-18 00:18 3403解决方案是因为js里的逗号多了一个。 "requi ... -
JS中的replaceAll方法
2012-03-16 16:25 2718今天做项目时遇到这样一个问题,就是说需要将字符串中的某个字符全 ... -
IE8下的一个另类
2012-03-15 16:55 1192今天项目中遇到一个问题,发现在IE8下的这段代码: var ... -
Js/JQuery 获取下拉框值
2012-02-17 21:19 2603今天做项目时,遇到获取下拉框选项的值,发现一个没太注意的 ... -
JS实现关键词高亮
2012-02-09 21:04 4336想起以前做博客系统时,对搜索时的关键字做高亮时没搞出来,无聊之 ... -
【转】现在浏览器的工作原理
2012-02-07 22:21 1422简介 浏览器可以被认为是使用最广泛的软件,本文将介绍浏 ...
相关推荐
关于浏览器退格键的禁用,可行的方法有很多,在本文将为大家详细介绍下在js中时如何做到的,有需求的各位可以参考下
很多开发者在开发过程中会遇到需要禁用退格键的情况,本段js,可以轻松的帮您解决这个问题
javascript编写的禁用退格和回车键,兼容所有主流的浏览器,ie6,7,8,9,10 FireFox,谷歌。
当我们在jsp上有个只读文本框的时候,用户在文本框内点击BackSpace会后退网页,此js直接引用到jsp内就可以屏蔽退格键后退网页的功能,删除功能还在。经测试,谷歌,IE都可以用。
我们在真实的项目开发中经常会使用JS 对键盘上的一些按键进行禁用,常见的比如说退格键(backspace/ 后退键),我在一个项目中就遇到过在页面编辑的时候禁用掉退格键,因为退格键会发生页面后退,这样编辑的内容都会...
本文详细阐述如何解决在linux移植过程中遇到的退格键失效的问题
JS 禁用 退格-刷新-禁用地址栏-菜单栏-右键-窗口最大化
本文实例讲述了js实现模拟计算器退格键删除文字效果的方法。分享给大家供大家参考。具体如下: <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN ...<...无标题
oracle 远程登录中使用SecureCTL退格键乱
键盘上的退格键符号表示方法,批处理中用的。
jquery+js两种方式实现的禁止退格键回退
代码 实现手机返回键和键盘退格键(还有其他键)
chrome52版本以下 屏蔽退格键 回退插件 backspacemeansbackspace V 1.2
这个软键盘,实现了退格键,支持简单的英文输入,可以在上面自行添加自己需要的功能,完全作为奉献
word 解决退格键不能删除问题 故障 删除 问题
针对各种用户需求设置不同按键的禁用,我主要是用来禁用Print Screen SysRq键因为20块的键盘退格键跟它离得太近了。
发现只读文本框有一个缺陷,当鼠标焦点在文本框里面的时候按回退键(backSpace), 会退回到前一个页面