您的位置:首页 > Web前端 > JavaScript

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: