js 禁用只读文本框获得焦点时的退格键
2010-07-06 17:06
288 查看
发现只读文本框有一个缺陷,当鼠标焦点在文本框里面的时候按回退键(backSpace), 会退回到前一个页面
有时候难免会要用到只读的文本框,可今天发现只读文本框有一个缺陷,当鼠标焦点在文本框里面的时候按回退键(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;
}
}
}
}
详细出处参考:/article/1257647.html
有时候难免会要用到只读的文本框,可今天发现只读文本框有一个缺陷,当鼠标焦点在文本框里面的时候按回退键(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;
}
}
}
}
详细出处参考:/article/1257647.html
相关文章推荐
- js 禁用只读文本框获得焦点时的退格键
- js 禁用只读文本框获得焦点时的退格键
- js 禁用只读文本框获得焦点时的退格键
- js 禁用只读文本框获得焦点时的退格键
- js禁用只读文本框获得焦点时的回格键
- 禁用只读文本框获得焦点时的退格键
- 禁用只读文本框获得焦点时的退格键
- 文本框用js获得焦点问题
- 在js(jquery)中获得文本框焦点和失去焦点的方法
- JS中文本框获得焦点后,光标位置如何跳到文本末尾
- 在js(jquery)中获得文本框焦点和失去焦点的方法
- js中文本框如何获得焦点
- 利用js在文本框末尾获得焦点
- JS实现文本框获得焦点,文本框里提示信息自动消失
- 文本框获得失去焦点——js和jquery方法的对比
- 利用js在文本框末尾获得焦点
- 通过JS实现文本框获得输入焦点时的状态
- JS实现文本框获得焦点,文本框里提示信息自动消失
- 在js(jquery)中获得文本框焦点和失去焦点的方法
- JS中文本框获得焦点后,光标位置如何跳到文本末尾