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

发布时间:2019-10-23编辑:脚本学堂
只读文本框有个缺陷,当鼠标焦点在文本框里面时,按回退键(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;
}
}
}
}