js 禁用只读文本框获得焦点时的退格键


Posted in Javascript onApril 25, 2010

有时候难免会要用到只读的文本框,可今天发现只读文本框有一个缺陷,当鼠标焦点在文本框里面的时候按回退键(backSpace), 会退回到前一个页面,这个问题就有点烦恼了,用户又不清楚可不可以输入,他如果看到文本框想去改里面的东西,按一下,有可能前面所有填写的数据就会丢失.故此写了个方法,供大伙有需要时放入<script></script>,保管你称心如意。

document.documentElement.onkeydown = function(evt){ 
var b = !!evt, oEvent = evt || window.event; 
if (oEvent.keyCode == 8) { 
var node = b ? oEvent.target : oEvent.srcElement; 
var reg = /^(input|textarea)$/i, regType = /^(text|textarea)$/i; 
if (!reg.test(node.nodeName) || !regType.test(node.type) || node.readOnly || node.disabled) { 
if (b) 
{ 
oEvent.stopPropagation(); 
} 
else 
{ 
oEvent.cancelBubble = true; 
oEvent.keyCode = 0; 
oEvent.returnValue = false; 
} 
} 
} 
}
Javascript 相关文章推荐
jQuery密码强度检测插件passwordStrength用法实例分析
Oct 30 Javascript
JavaScript数据类型学习笔记
Jan 25 Javascript
获取阴历(农历)和当前日期的js代码
Feb 15 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
浅谈几种常用的JS类定义方法
Jun 08 Javascript
jQuery查看选中对象HTML代码的方法
Jun 17 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
Jul 07 Javascript
Vue2.0组件间数据传递示例
Mar 07 Javascript
vue中v-for循环给标签属性赋值的方法
Oct 18 Javascript
layer设置maxWidth及maxHeight解决方案
Jul 26 Javascript
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
微信小程序云函数添加数据到数据库的方法
Mar 04 Javascript
js 内存释放问题
Apr 25 #Javascript
JavaScript 对象链式操作测试代码
Apr 25 #Javascript
网页上的Javascript编辑器和代码格式化
Apr 25 #Javascript
jQuery温习篇 强大的JQuery选择器
Apr 24 #Javascript
javascript 二分法(数组array)
Apr 24 #Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 #Javascript
JavaScript 比较时间大小的代码
Apr 24 #Javascript
You might like
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
PHP实现动态删除XML数据的方法示例
2018/03/30 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
列表内容的选择
2006/06/30 Javascript
jquery json 实例代码
2010/12/02 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
bootstrap switch开关组件使用方法详解
2017/08/22 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
python批量生成本地ip地址的方法
2015/03/23 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
python数字类型math库原理解析
2020/03/02 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
python利用platform模块获取系统信息
2020/10/09 Python
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
银行见习期自我鉴定
2014/01/29 职场文书
《落花生》教学反思
2014/02/25 职场文书
何时使用Map来代替普通的JS对象
2021/04/29 Javascript
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技